Ellerinize sağlık
Son Düzenleme: 22/08/2019, 21:55, Düzenleyen: skat.
-----------------------------
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
(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