Herkese merhaba;
Ekteki çalışmamda bir barkod okuyucu mevcut. Access konusunda pek tecrübeli değilim internet üzerinden araştırma yaparak öğreniyorum. Yaptığım programda barkodu okuttuğumda stok kodunu hep aynı ürün olarak döndürüyor ve hatalı bir barkod olduğunda da yine aynı stok kodunu döndürüyor. Yazdığım koddaki hatanın nereden kaynaklandığı konusunda destek vermenizi rica ederim...[/code]
03-12-2017, 01:51 (En son düzenleme: 03-12-2017, 01:53 EminA.)
Hocam, barkod okuyucu konusunda pek fikrim yok ancak anladığım kadarıyla Barkod kutusuna güncelleştirme sonrası için yazdığınız kodda hata var. Muhtemelen biliyorsunuz. Barkodu okuttuğunuzda bu bilgiler VTye yeni kayıt olarak mı giriyor. Yoksa Veri Tablosunda varolan barkodu okuttuğumuzda göstermesi mi gerekir. Yeni kayıt durumunda barkod no ile stokkodu arasında bir ilişki kurmak gerekir. Eğer ç.makinasının barkodu örneğin Ç1234 gibi, b.makinasının barkodu B1234 gibiyse bunları stok kodu ile ilişkilendirebilirsiniz. Bir de güncelleştirme sonrası yerine kısa barkodun odaklandığında olayına hatalı barkod uyarısını eklerseniz daha kullanışlı olabilir. İlişkilendirmeyi IF THEN ELSE ile yapabilirsiniz. Umarım saçmalamamışımdır. Anladığım kadarıyla yardımcı olmaya çalıştım. Kolay gelsin.
Merhaba EminA hocam;
Öncelikle ilginiz için çok teşekkür ederim. Söylediğiniz bilgileri inceledim ve yaptığım programda atladığım bir husus varmı kontrol ettim.
- Programımda belirttiğiniz gibi stok kartı ve veri tablosunda kısa barkod ve stok kodu ilişkilendirilmiş.
- Yaptığım programdaki formda barkodu okuttuğumuzda otomatik olarak barkodun ikinci hanesi dahil olmak üzere 8 hane sayıp kısa barkoda taşıyor ve kısa barkod bilgisine istinaden stok kartı tablosundan karşılık gelen stok kodunu bilgi olarak çağırıyor ve sonrasında direkt olarak alttaki veri tablosu alanına kayıt edip devamında yeni kayıt oluşturmaya hazırlanıp yeniden barkod alanına focuslanıyor.
- Yukarıda da belirttiğim üzere program her barkod bilgisine aynı veriyi getiriyor ve hatalı bir barkod yazıldığında yine aynı stok kodunu getiriyor.
- Tahminim barkod textboxındaki güncelleştirmeden sonra olayındaki kodlarım hatalı veya eksik.
- Bu arada hata alındığında hata döngüsü kullanmayı bilmiyorum. Bu konuda da destek görebilirsem memnun olurum...
Sayın Midnight, anlattıklarınızdan işlem mantığını anlamaya çalıştım. Şimdi barkodu okuyor okuduğu tüm barkodların 2. dahil 8 rakamı 2 grupta toplanıyor. Örneğinize göre söylüyorum. Yani Çamaşır ve Bulaşık makinaları için kısa barkod numarası mevcut. Makinaların barkod numarası, bulaşık makinası ise 2. dahil 8 rakam sabit bir numara örneğin Bulaşık için 12345678 diyelim okuttuğunuz barkod *12345678***** şeklinde olabiliyor. Çamaşır makinası içinde öyle.
Eğer barkod okutulduğunda bilgiyi sadece kısa barkoda atmıyorsa barkod kutusuna da atıyorsa güncelleştirme sonrası olayına yazılacak bir kodla olay çözülür. Ayrıca kısa barkod değerini, barkodu okuttuğunuzda barkod numarası barkod kutusuna atılsın. Kısa barkod kutusunun varsayılan değeri kısmına =Mid(Me.txtBarkod.Text,2,8) yazarsınız değer gelir. Sonra bu değeri Stok Kartındaki kısa barkodla karşılaştırıp stok kodunu yazdırabilirsiniz.
If Me.KisaBarkod = 12345678 Then
Forms!VeriTablosu!StokKodu = "Bulaşık"
.
.
.
End If
Umarım doğru anlayıp sorununuzu çözmede katkım olur. Kolay gelsin.
eminA hocam;
söylediklerinizi denedim ancak sonuç alamadım. tahminimce yazdığım kodlarda DoLookUp kodunda hata var. Döndürdüğü sonuç stok kartı tablosundaki stok kodlarını artırmama rağmen hep aynı şekilde Bulaşık sonucu veriyor...
Private Sub txtBarkod_AfterUpdate()
Dim kisalt As String
Dim urun As String