Tabloya Otomatik veri yazdırma

Katılım
30 Mayıs 2008
Mesajlar
75
Excel Vers. ve Dili
2007
Herkese Selemlar,

Konu ile ilgili acil cevaplarınızı bekliyorum,

Öncelikle Stok Kodlarının kayıtlı olduğu bir tablom var, yapmak istediğim, içinde stok numarasını da ihtiva eden Unique seri numaraları oluşturmak, Bir form üzerinde, seri numaraları oluşturmak istediğim stok kodunu seçeceğim. ( Örn : XK71 ) daha sonra bu stok kodundan kaçtane istediğimi belirteceğim bir metin kutusu olacak ayrıca özel bilgi için bir metin kutusu olacak. Komutu Çalıştırdığımda ( Makro, Sorgu, Nasıl olacaksa eğer ), Seri Numarası Tablosuna, otomatik olarak veri yazacak.
Örn.: Kod : XK71, Adet : 5, Özel Bilgi : 35 değerlerini forma yazdığım zaman, Seri Numarası tablosuna,

Seri No Özel Bilgi
-------------------------
XK71350001 35
XK71350002 35
XK71350003 35
XK71350004 35
XK71350005 35

Aynı formu tekrar örn. olarak XC68 için ve özel bilgi : 48 için Adet : 5 için çalıştırdığımızda, tabloya bununile ilgili kayıtları eklemeli,

Seri No Özel Bilgi
-------------------------
XK71350001 35
XK71350002 35
XK71350003 35
XK71350004 35
XK71350005 35
XC68480006 48
XC68480007 48
XC68480008 48
XC68480009 48
XC68480010 48

Ayrıca tabloya kayıtlar eklendikten sonra bir mesaj kutusu ile oluşturulan seri numaralarının ilk ve son numaralarını vermesi gerekiyor.
Örn: 2. defa çalıştığında İlk Kod : XC68480006 - Son Kod : XC68480010 şeklinde.

Acil cevaplarınızı bekliyorum, yardımlarınız için şimdiden teşekkürler.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhaba;
İstediğiniz ADO ya da DAO ile mumkun görünüyor ama bence yine de istediğiniz alanlardan oluşan tablo ve formlarınızı başlangıç olarak siz oluşturup buraya bir örnek eklemelisiniz. ..
 
Katılım
30 Mayıs 2008
Mesajlar
75
Excel Vers. ve Dili
2007
Uygulama

Mesajınız için çok teşekkür ederim,

dosyayı ekte bulabilrsiniz,

acil yardımlarınızı bekliyorum,
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhaba;
Öncelikle örneğinizi bence 2007 den düşük versiyonlara çeviriniz ki herkes inceleyebilsin. Neyse ki ben 2007 kullanıyorum ;) Ayrıca örneğinizle mesajınızdaki alan isimleri tutmuyor ve kafamı çok karıştırdı. Şimdi aşağıdaki kodu form üstündeki düğmenin click koduna ekleyiniz. Koli içi adedi kadar ekleme yapar ve sonucuna bakınız" "barkodkodu" tablosunu inceleyiniz. Diğer kısımları anlamadım..

Kod:
Dim bb As DAO.Recordset
Dim i As Long
Set bb = CurrentDb.OpenRecordset("barkodkodu")
If Me.NewRecord Then
For i = 1 To Me.Metin7
bb.AddNew
bb("barkodkodu").Value = Me.Açılan_Kutu5.Column(1) & i
bb.Update
Next i
End If
Set bb = Nothing
Referanslardan DAO yu ekleyiniz..
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Sayın beab05
"Referanslardan DAO'yu ekleyin" deyince benim başıma gelen sıkıntıyı hatırladım. Aynı projede hem DAO hem ADO referanslarını eklediğimde hangisi yukarıdaysa o çalışıyor, diğeri hata veriyordu. Bunun bir çözümü var mı?.. Hem ADO hem DAO aynı projede sorunsuz çalışır mı?.. Merak ettiğim bir konuydu, senin mesajını görünce sorayım dedim..
Kolay gelsin..
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın mehmetdemiral,

ADO daha esnek ve daha yeni olduğundan ADO kullanmanızı öneririm.

ADO 16 bitlik uygulamalarda kullanılamaz. Bunu göz önünde bulundurun.

İyi çalışmalar
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Sayın beab05
"Referanslardan DAO'yu ekleyin" deyince benim başıma gelen sıkıntıyı hatırladım. Aynı projede hem DAO hem ADO referanslarını eklediğimde hangisi yukarıdaysa o çalışıyor, diğeri hata veriyordu. Bunun bir çözümü var mı?.. Hem ADO hem DAO aynı projede sorunsuz çalışır mı?.. Merak ettiğim bir konuydu, senin mesajını görünce sorayım dedim..
Kolay gelsin..

Merhaba;
Hemen test ettim aynı kodu ADO ya çevirdim referans sıralamasını iki türlü de değiştirdim, kodu da aynı form üzerinde 2 farklı düğmeye koydum ve ikisi de her koşulda sorunsuz çalıştı. Aşağıda da yukarıdaki kodların ADO ya çevrilmişi vardır.

Kod:
  Dim cn As ADODB.Connection
    Dim bb As ADODB.Recordset
    Dim i As Long
    Set cn = CurrentProject.Connection
    Set bb = New ADODB.Recordset
     bb.Open "barkodkodu", cn, adOpenKeyset, adLockOptimistic
 For i = 1 To Me.Metin7
    bb.AddNew
    bb("barkodkodu") = Me.Açılan_Kutu5.Column(1) & i
    bb.Update
  Next i
    Set bb = Nothing
    Set cn = Nothing
 
Katılım
30 Mayıs 2008
Mesajlar
75
Excel Vers. ve Dili
2007
Tabloya veri ekleme

Öncelikle mesajlarınız ve yardımlarınız için teşekkür ederim,

Vermiş olduğunuz her iki koduda denedim fakat referanslardan DAO yu eklemeya çalıştığımda " Name conflicts with existing module, project or library" şekline bir hata veriyor, anladığım kadarı ile ver olan bir module veya proje ile ismi çakışıyor diyor ama, herhangi bir module veya proje yok.

ADO yu denediğimde ise, Dim cn As ADODB.Connection satırında "Compile Error User Defined type not defined". şeklinde bir hata veriyor.

Öncelikle vermiş olduğum örnek ve veritabanı arasında ki farklardan dolayı kusura bakmayın. Yapmak istediğim iş ile ilgili olarak biraz daha detaylı bilgi vermek istiyorum. Daha önceki yazılarımda da bahsettitğim gibi Stok Kodu formunda seçmiş olduğum veriler ile ilgili olarak Barkod kodu tablosuna otomatik olarak kayıt yapmak istiyorum. Örnek olarak, Stok kodu formunda, Stok kodunu, ekteki dosyada kayıtlı olan XC15ET014108B olarak seçelim ve koliiçiadedini 25 yazalım, İstenen barkod sayısını, 5 olarak belirtelim ve kodu çalıştırdığımızda;

Barkod Kodu tablosuna

XC15ET014108B2500000001
XC15ET014108B2500000002
XC15ET014108B2500000003
XC15ET014108B2500000004
XC15ET014108B2500000005

şeklinde kayıt yazmalı, ( Stok kodu + Koli içi adedi + 8 haneli unique seri numarası şeklinde oluşturulmuş kayıtlar) aynı form üzerinde XC14ET091901A stok kodunu seçtiğimizde ve koli içi adedine 12 istenen barkod sayısını 3 olarak belirttiğimizde yine aynı Barkod Kodu tablosu,


XC15ET014108B2500000001
XC15ET014108B2500000002
XC15ET014108B2500000003
XC15ET014108B2500000004
XC15ET014108B2500000005
XC14ET091901A1200000006
XC14ET091901A1200000007
XC14ET091901A1200000008

şeklinde kayıt oluşturmalı,

Barkod Kodu tablosunu bu verileri oluşturduktan sonra bir mesaj kutusu açılarak, oluşturulan barkod numaraları ile ilgili bilgi vermeli, Örn : Yukarıda ki 2. defada oluşturulan kod numaraları için, Barkod Kodları oluşturulduktan sonra Açılan mesaj kutusunda, "Oluşturulan ilk Barkod : XC14ET091901A1200000006 Oluşturulan son Barkod : XC14ET091901A1200000008 " olarak belirtmeli.

Konu ile ilgili zaman ayırdığınız için şimdiden teşekkür eder, değerli fikir ve görüşlerinizi beklerim.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhaba;

Düğmenin kodu, Örneği de aşağıda;

Kod:
Dim cn As ADODB.Connection
    Dim bb As ADODB.Recordset
    Dim cc As ADODB.Recordset
    Dim i As Long
   
    Set cn = CurrentProject.Connection
    Set bb = New ADODB.Recordset
     bb.Open "barkodkodu", cn, adOpenKeyset, adLockOptimistic
 For i = 1 To Me.Metin9
    bb.AddNew
    bb("barkodkodu") = Me.Açılan_Kutu5.Column(1) & Me.Metin7 & Format(i, "00000000")
    bb.Update
  Next i
  Dim b As Integer
  Dim c As String
  Set cc = New ADODB.Recordset
  cc.Open "select first(barkodkodu) as minb,last(barkodkodu) as maxb from barkodkodu where left(barkodkodu,5) = '" & Left(Me.Açılan_Kutu5.Column(1), 5) & "'", cn, adOpenKeyset, adLockOptimistic
  
  b = MsgBox("İlk Kod    : " & cc("minb") & vbCrLf & vbCrLf & "Son Kod : " & cc("maxb"), vbInformation, "BEAB2005")
    Set bb = Nothing
    Set cn = Nothing
    Set cc = Nothing
 
Katılım
30 Mayıs 2008
Mesajlar
75
Excel Vers. ve Dili
2007
Beab Hocam,

Harika..........

Çok mükemmel olmuş, harika çalışıyor, ellerine, emeğine sağlık,

Fakat Barkod kodunun sonuna eklediğimiz seri numarası en son kayıttan devam ederse, müthiş olacak,
Örn.:
XC14ET091901A2500000001
XC14ET091901A2500000002
XC14ET091901A2500000003
XC14ET091901A2500000004
XC14ET091901A2500000005

şeklinde 5 adet kayıt oluşturduk, ikinci defa XC15ET014108B kod numarası için oluşturulacak olan 5 kayıt için barkod kodu yine 1 den başlıyor, bu 6 dan ( yani en son kaldığı yerden )başlayabilirmi ?

XC15ET014108B2500000006
XC15ET014108B2500000007
XC15ET014108B2500000008
XC15ET014108B2500000009
XC15ET014108B2500000010

eğer bu şekilde çalışabilirse müthiş olacak,

ilgi ve alakana peşinen teşekkür ederim.
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
Sayın turuenes çalışır son halini eklerseniz sevniriim.
 
Katılım
30 Mayıs 2008
Mesajlar
75
Excel Vers. ve Dili
2007
Herkese Selam

Barkod kodu tablosunda boş kalan alanları dolduracak şekilde düzenleme yapmaya çalıştım ve takip eden seri numaralarını verdim.

Şu anda çalışıyor, ama barkod numaralarını oluşturduktan sonra verdiği uyarı mesajında, sorun var. Eğer daha önce işleme girmiş bir stok kodu varsa, en sonda verdiği mesaj kutusunun ilk kod bölümünde ilk çalıştığında verdiği barkod numarasını veriyor,

Yardımlarınızı bekliyorum.

Tşk.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhaba;
Son örneğinizi görmedim ama diğer örneğinize göre düzelttim..
 
Katılım
30 Mayıs 2008
Mesajlar
75
Excel Vers. ve Dili
2007
Beab Hoca,

Eline, Emeğine sağlık, çok teşekkür ederim.
 
Üst