Grazie
Roberto
>Salve a tutti,
>qualcuno sa come si calcola l'ultima cifra di controllo di un EAN13?
Ho mandato, qualche tempo fa', al sito comune una serie di piccole
funzioni per trattare ISBN e EAN13 (e passare dall'uno all'altro). Se
vai a vedere c'č anche una funzione che calcola la cifra.
ErreBi
Ale
>Salve a tutti,
>qualcuno sa come si calcola l'ultima cifra di controllo di un EAN13?
Sul libro di Luciano Serasini 'I codici a barre' - Jackson
dice cosi' :
_2 1 0 8 7 1 6 5 4 1 0 8
1 ) Sommare il valore dei caratteri in posizione pari
2 + 0 + 7 + 6 + 4 + 0
2) Moltiplicare per 3 il risultato
19x3=57
3) Partendo dalla terza posizione
sommare il valore dei caratteri in posizione dispari
1 + 8 + 1 + 5 + 1 + 8 = 24
4) sommare i totali
57+24=81
5) se il totale ottenuto e' un multiplo di 10 il carattere
e' 0 (zero) altrimenti si sottrae dalla decina superiore
la cifra ottenuta.
Il risultato e' il carattere di controllo
81->90 90-81= 9 Check digit
Ciao,
Eugenio.
>
>Grazie
>
>Roberto
>
>
>
>
>
'------------------------------
'Calcolo check digit codici ean
'------------------------------
Public Function Checkdigit(var As String) As String
If Len(Trim(var)) = 0 Then
Checkdigit = ""
Exit Function
End If
m_eanean = var & " "
totpar = Val(Mid(m_eanean, 2, 1)) + _
Val(Mid(m_eanean, 4, 1)) + _
Val(Mid(m_eanean, 6, 1)) + _
Val(Mid(m_eanean, 8, 1)) + _
Val(Mid(m_eanean, 10, 1)) + _
Val(Mid(m_eanean, 12, 1))
tottre = (totpar * 3)
totdis = Val(Mid(m_eanean, 1, 1)) + _
Val(Mid(m_eanean, 3, 1)) + _
Val(Mid(m_eanean, 5, 1)) + _
Val(Mid(m_eanean, 7, 1)) + _
Val(Mid(m_eanean, 9, 1)) + _
Val(Mid(m_eanean, 11, 1))
totsom = (tottre + totdis)
f = Len(Str(totsom))
Select Case Mid(Str(totsom), f, 1)
Case Is = "0"
Checkdigit = var & "0"
Case Is = "1"
Checkdigit = var & "9"
Case Is = "2"
Checkdigit = var & "8"
Case Is = "3"
Checkdigit = var & "7"
Case Is = "4"
Checkdigit = var & "6"
Case Is = "5"
Checkdigit = var & "5"
Case Is = "6"
Checkdigit = var & "4"
Case Is = "7"
Checkdigit = var & "3"
Case Is = "8"
Checkdigit = var & "2"
Case Is = "9"
Checkdigit = var & "1"
End Select
End Function
Ledda Roberto <roberto.ledda[NOSPAM]@tiscalinet.it> wrote in message
7ikdkv$e6g$1...@aquila.tiscalinet.it...
> Salve a tutti,
> qualcuno sa come si calcola l'ultima cifra di controllo di un EAN13?
>
> Grazie
>
> Roberto
>
>
>
>
>