AccessTr.neT

Tam Versiyon: Gerçek Barkod Basma Programı
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4 5 6 7 8 9 10
Merhaba Arkadaşlar,

Aşağıdaki modülü kullanıyorum ve Code 128 ile barkodlarım çalışıyor. Aşağıdaki atölye Id lerine göre barkodları oluşturuyorum fakat barkod okuyucu barkodları okumuyor. Bunun sebebi ne olabilir acaba,

AtölyeID
1 Kalıphane
2 Kaplama
3........

barkodu AtolyeID ye tanımlıyorum bir türlü barkod okuyucu okumuyor. Denetim kaynağını barkod için aşağdaki gibi yapıyorum olmuyor.

=Barkodu([AtolyeID])

Yardımcı olursanız sevinirim.

Option Compare Database
Option Explicit
Public Function BarKodu(Cevir)
Dim Sayac, TopKont, minSayac, Hafiza, Plaka As Boolean
BarKodu = ""
If Len(Cevir) > 0 Then
For Sayac = 1 To Len(Cevir)
Select Case Asc(Mid(Cevir, Sayac, 1))
Case 32 To 126, 203
Case Else
Sayac = 0
Exit For
End Select
Next
BarKodu = ""
Plaka = True
If Sayac > 0 Then
Sayac = 1
Do While Sayac <= Len(Cevir)
If Plaka Then
minSayac = IIf(Sayac = 1 Or Sayac + 3 = Len(Cevir), 4, 6)
GoSub testnum
If minSayac < 0 Then
If Sayac = 1 Then
BarKodu = Chr$(210)
Else
BarKodu = BarKodu & Chr$(204)
End If
Plaka = False
Else
If Sayac = 1 Then BarKodu = Chr$(209)
End If
End If
If Not Plaka Then

minSayac = 2
GoSub testnum
If minSayac < 0 Then
Hafiza = Val(Mid(Cevir, Sayac, 2))
Hafiza = IIf(Hafiza < 95, Hafiza + 32, Hafiza + 105)
BarKodu = BarKodu & Chr$(Hafiza)
Sayac = Sayac + 2
Else
BarKodu = BarKodu & Chr$(205)
Plaka = True
End If
End If
If Plaka Then
BarKodu = BarKodu & Mid(Cevir, Sayac, 1)
Sayac = Sayac + 1
End If
Loop
For Sayac = 1 To Len(BarKodu)
Hafiza = Asc(Mid(BarKodu, Sayac, 1))
Hafiza = IIf(Hafiza < 127, Hafiza - 32, Hafiza - 105)
If Sayac = 1 Then TopKont = Hafiza
TopKont = (TopKont + (Sayac - 1) * Hafiza) Mod 103
Next
TopKont = IIf(TopKont < 95, TopKont + 32, TopKont + 105)
BarKodu = BarKodu & Chr$(TopKont) & Chr$(211)
End If
End If
Exit Function
testnum:
minSayac = minSayac - 1
If Sayac + minSayac <= Len(Cevir) Then
Do While minSayac >= 0
If Asc(Mid(Cevir, Sayac + minSayac, 1)) < 48 Or Asc(Mid(Cevir, Sayac + minSayac, 1)) > 57 Then Exit Do
minSayac = minSayac - 1
Loop
End If
Return
End Function
Site Kuralları

- Başkasının konusuna soru sormayın
- Her yeni soru için yeni konu

Sorunuz ile alakalı bir konu varsa 'xxxxxxx konusundaki eklentiyi kullanmıştım ama yyyyy problemi yaşıyorum' şeklinde o konuya link verebilirsiniz.
Tamam yeni bir konu açıyorum kusura bakmayın
Hocam basma varda okuma program hic yok
Tebrikler, Güzel bir mantık ve iyi bir çalışma.
hocam barkod alanın veri türü olarak sayıyı seçiçez fakat tipini hangisi yapacaz
Sayfalar: 1 2 3 4 5 6 7 8 9 10