23/06/2014, 16:16
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.
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