10. september 2007 - 20:19Der er
6 kommentarer og 1 løsning
OCR linie til FI-indbetalingskort - kontrolciffer
Hej eksperter
Hvem kan lige trylle en lille beegning til en forespørgsel som danner kontrolcifferet til kodelinien på FI kort af typen 71?
Man beregner kontrolcifferet som modulus 10 af de 14 cifre der er plads til, men jeg skal under alle omstændigheder kun bruge fire cifre ud af de 14, og det gør måske opgaven lettere?
Her er den VBA kode jeg bruger i Excel til at beregne det sidste kontrolciffer
Public Function Tjektal(Tal As String) As Integer taeller = 1 gemtal = 0 Tjektal = 0 For i = Len(Tal) To 1 Step -1 If taeller = 1 Then gemtal = CInt(Mid(Tal, i, 1)) * 2 taeller = 2 Else gemtal = CInt(Mid(Tal, i, 1)) taeller = 1 End If Tjektal = Tjektal + TværSum(CStr(gemtal)) Next i Tjektal = 10 - Tjektal Mod 10 If Tjektal = 10 Then Tjektal = 0 End If 'Tjektal = gemtal End Function
Public Function TværSum(Tal As String) As Integer
TværSum = 0 For i = 0 To Len(Tal) - 1 TværSum = TværSum + Val(Left(Right(Tal, Len(Tal) - i), 1)) Next i
End Function
Denne næste kode bruger jeg til at fylde nuller foran det endelige tal: Public Function Fyldnul(Tal As String, num As Integer) As String
Fyldnul = Tal While Len(Tal) < num Tal = "0" & Tal Wend
Fyldnul = Tal End Function
Dvs. jeg i Excel kalder funktionerne således: fyldnul(""&2193&tjektal(2193);15)
Det er kontrolcifferet jeg skal have genereret. Jeg har tallet 2193 og skal generere linien: 00000000002193X hvor X er kontrolcifferet. De foranstillede nuller skal jeg også lige have med. Mine kundenumre er fra 1 til 4 cifre intdil videre, men kunne nok blive fem-cifrede med tiden.
Hvordan bruger jeg VBA koden i excel. Jeg kunne jo bruge din "generator" til at lave en tabel i Acceess, hvor jeg slår FI-kodelinien op med kundenummeretsom reference. Det er nok ikke raketvidenskab, men det fungerer. Måske kunne du lave et excel-ark med kundenumre fra 1 til 9999 med tilhørende FI-kodelinier?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.