Skip to main content

AccessTr.neT


Gerçek Barkod Basma Programı

Gerçek Barkod Basma Programı

#43
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
#44
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.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#45
Tamam yeni bir konu açıyorum kusura bakmayın
Cevapla
#46
Hocam basma varda okuma program hic yok
Cevapla
#47
Tebrikler, Güzel bir mantık ve iyi bir çalışma.
Cevapla
#48
hocam barkod alanın veri türü olarak sayıyı seçiçez fakat tipini hangisi yapacaz
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task