Skip to main content

AccessTr.neT


Code 128 barkod okuyucu barkodu okumuyor

Code 128 barkod okuyucu barkodu okumuyor

Çözüldü #1
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
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Code 128 barkod okuyucu barkodu okumuyor - Yazar: mengene2 - 23/06/2014, 19:55
Task