PDA

Vollständige Version anzeigen : quersumme?


kaybuch
11.06.2001, 14:59
Hallo Gemeinde,

gibt es eine Möglichkeit die Quersumme einer Zahl in Access zu ermitteln (Beispiel: 1234 gibt dann 10 aus)?
Gruß
Kay

Kurt aus Kienitz
11.06.2001, 15:15
Hallo Kay,

Da bin ich ja mal gespannt, wieviele Versionen wir hier zu sehen bekommen :)

Hier mein Vorschlag

Function Quersumme(iZahl As Integer) As Integer

Dim intI%
Dim strZahl As String

strZahl = Trim$(Str$(iZahl))
For intI = 1 To Len(strZahl)
Quersumme = Quersumme + CInt(Mid(strZahl, intI, 1))
Next

End Function

Zu meine Schande muß ich gestehe, daß ich die Funktion im Spotlight-Forum abgekupfert habe :)

FW
11.06.2001, 15:25
Hallo Kay,
hier hast Du eine Funktion, die das tun sollte, was Du möchtest. Wenn Du die Kommentarzeilen "ausremst", dann bekommst Du als Ergebnis die "letzte Quersumme", also eine Zahl zwischen 0 und 9, ansonsten erhälst Du die "einfache Quersumme".

Function bytQuersumme(ByVal lngVar as long) as Byte
dim bytSumme As Byte, bytVar As Byte
dim strVar As String
strVar = CStr(lngVar)
' do
' bytSumme = 0
For bytVar = 1 To Len(strVar)
bytSumme = bytSumme + Val(Mid$(strVar, bytVar, 1))
Next bytVar
' strVar = CStr(bytSumme)
' loop while Len(strVar)>1
bytQuerSumme = bytSumme
End Function

Alles klar?

Frank

kaybuch
11.06.2001, 16:15
Hallo Kurt und Frank,
habt vielen Dank für eure Hilfe. Ich denke damit komme ich zum Ziel.
Wenn natürlich jemand andere Ideen oder Variationen hat nur zu.

Grüße
Kay