AccessTr.neT

Tam Versiyon: EAN8, EAN13 ve EAN 128 Barkodlar hepsi aynı çalışmada...
Ş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
Ellerinize sağlık
Harika ve yararlı olmuş hocam. teşekkürlerr
merhaba.

Kontrol Karakteri hesaplama ihtiyaçı olan çıkabilir.


-----------------------------
Option Compare Database

'EAN-8 tipindeki "55123457" barkod rakamında 7 kontrol basamağıdır.

'sıra no          1        2        3      4      5      6      7      8      9
'-------------------------------------------------------------------------------------
'Barcod            5        5        1      2      3      4      5      ?      ?
'Position          O        E        O      E      O      E      O      E      O
'Ağırlık          3        1        3      1      3      1      3      1      3
'Çarpan          5 * 3    5 * 1    1 * 3  2 * 1  3 * 3  4 * 1  5 * 3  ?*1    ?*3
'Ağırlık Topl    15        5        3      2      9      4      15
'Toplam Sonuç    15  +    5    +  3  +  2  +  9  +  4  +  15  +  0  +  0  = 53. - 60 = 7

Function ean8_Hesapla(barkod8)
Dim b(1 To 7) As Integer
    For m = 1 To 7
        b(m) = Mid(barkod8, m, 1)
    Next
    hsp3 = b(1) * 3 + b(2 * 1) + b(3) * 3 + b(4) * 1 + b(5) * 3 + b(6) * 1 + b(7) * 3
     
    sonuc = 10 - hsp3 Mod 10
    ean8_Hesapla = sonuc
End Function

'EAN-10 tipindeki "334655628" barkod rakamında 6 kontrol basamağıdır. Hesap Mantığı EAN-8 Tipi ile aynıdır.

Function ean10_Hesapla(barkod10)
Dim c(1 To 9) As Integer
    For z = 1 To 9
        c(z) = Mid(barkod10, z, 1)
    Next
   
  hsp4 = c(1) * 3 + c(2) * 1 + c(3) * 3 + c(4) * 1 + c(5) * 3 + c(6) * 1 + c(7) * 3 + c(8) * 1 + c(9) * 3
     
    sonuc = 10 - hsp4 Mod 10
   
    ean10_Hesapla = sonuc
End Function




'EAN-13 tipindeki 8697543170035 barkod rakamında 5 kontrol basamağıdır.

'Aşağıda hesaplama mantığı adım adım anlatılmıştır.

'1.Adım: Barkod rakamının çift haneleri toplanır. 6+7+4+1+0+3=21
'2.Adım: 1.adımda çıkan sayı 3 ile çarpılır. 21*3=63
'3.Adım: Barkod rakamının tek haneleri toplanır. 8+9+5+3+7+0=32
'4.Adım: 2 inci adımda elde edilen sayı ile 3 üncü adımda elde edilen sayı toplanır. 63+32=95
'5.Adım: 4.adımda elde edilen sayı (yukarıda 95 sayısı) kendisinden büyük 10 u katı olan 100 den çıkartılır.100-95=5
'Sonuç: 6 ncı adımda elde edilen sayı (yukarıda 5 olarak elde edilmiş) kontrol basamağı (Check Digit) rakamıdır

Function BarkodHesapla(barkod13)
Dim a(1 To 12) As Integer
    For n = 1 To 12
        a(n) = Mid(barkod13, n, 1)
    Next
  hsp1 = a(2) + a(4) + a(6) + a(8) + a(10) + a(12)
  hsp2 = a(1) + a(3) + a(5) + a(7) + a(9) + a(11)
   
    sonuc = 10 - ((3 * hsp1) + hsp2) Mod 10
    BarkodHesapla = sonuc
End Function


----------------------------
Teşekkürler. Çok yararlı bilgiler olmuş.
Yapamadığım 2 şey var. 
Bende 13 rakamlı kontrol sağlanmış barkod rakamları var. Önce otomatik olarak 2 ye düşürmem gerekli.
Diğeri ise 6 rakamlı manuel sayılar var. Bunlarında önüne 12 basamağa tamamlamak için "0" sıfır ekmek.
Market sayım ve etiket basma üzerine uğraşıyorum. Ama çok acemiyim. Sadece hazır kodlardan alıntı ile Img-cray
(19/11/2019, 22:30)raindorfler yazdı: [ -> ]Yapamadığım 2 şey var. 
Bende 13 rakamlı kontrol sağlanmış barkod rakamları var. Önce otomatik olarak 2 ye düşürmem gerekli.
Diğeri ise 6 rakamlı manuel sayılar var. Bunlarında önüne 12 basamağa tamamlamak için "0" sıfır ekmek.
Market sayım ve etiket basma üzerine uğraşıyorum. Ama çok acemiyim. Sadece hazır kodlardan alıntı ile Img-cray


Merhaba, örnek uygulamanızı ekleyerek yeni konu açınız.
Sayfalar: 1 2 3 4 5 6 7 8 9