Tack det fungerar bra, men nu kom en annan sak med i bilden.
Om man i textrutan har skrivit in en 0:a så får jag felmedelande nr 13 (inkompatibla typer).
Skriver jag On Error Resume Next, så försvinner det, men så vill jag ju inte ha det.
Så här ser koden ut:
Dim sKolla, txtFörsta, txtSista, lVisa
If Len(Me![txtFörsta]) <> 0 And Len(Me![txtSista]) <> 0 Then
'On Error Resume Next
'Me!lVisa.Caption = ""
'Me!lTest.Caption = ""
sKolla = Me![txtFörsta] & Me![txtSista]
Me![lVisa].Caption = "Beräkna sista siffran efter personnummer: " & sKolla
Dim a, b, c, d, e, f, g, h, i, sa
a = CInt(Mid(sKolla, 1, 1))
a = a * 2
If Len(a) > 1 Then
a = CInt(Left(a, 1)) + CInt(Right(a, 1))
Else
a = CInt(a)
End If
'Me![lTest].Caption = a
b = CInt(Mid(sKolla, 2, 1))
'Me![lTest].Caption = b
c = CInt(Mid(sKolla, 3, 1))
c = c * 2
If Len(c) > 1 Then
c = CInt(Left(c, 1)) + CInt(Right(c, 1))
Else
c = CInt(c)
End If
'Me![lTest].Caption = c
d = CInt(Mid(sKolla, 4, 1))
' Me![lTest].Caption = d
e = CInt(Mid(sKolla, 5, 1))
e = e * 2
If Len(e) > 1 Then
e = CInt(Left(e, 1)) + CInt(Right(e, 1))
Else
e = CInt(e)
End If
' Me![lTest].Caption = e
f = CInt(Mid(sKolla, 6, 1))
'Me![lTest].Caption = f
g = CInt(Mid(sKolla, 7, 1))
g = g * 2
If Len(g) > 1 Then
g = CInt(Left(g, 1)) + CInt(Right(g, 1))
Else
g = CInt(g)
End If
'Me![lTest].Caption = g
h = CInt(Mid(sKolla, 8, 1))
'Me![lTest].Caption = h
i = CInt(Mid(sKolla, 9, 1))
i = i * 2
If Len(i) > 1 Then
i = CInt(Left(i, 1)) + CInt(Right(i, 1))
Else
i = CInt(i)
End If
sSlut = a + b + c + d + e + f + g + h + i
sSlut = (CInt(Right(sSlut, 1))) - 10
Me![lTest].Caption = sSlut
Else
'MsgBox "För att kunna beräkna den sista siffran så behöver jag någonting att räkna med...", vbInformation, "Resurshusets Personnummer kontroll"
Me![lVisa].Caption = "Du måste mata in något värde för mig att arbeta med"
End If
'Me![txtFörsta].Value = ""
'Me![txtSista].Value = ""
Tacksam för all hjälp
------------------
saw
__
https://www.mp3.com/saw_songer
__