Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Rechnenin einer Tabelle

8 views
Skip to first unread message

Philippe Zogg

unread,
Apr 1, 2003, 3:00:07 AM4/1/03
to
Hallo NG

Ich setzte bis jetzt Excel ein um das folgende zu lösen. Nun muss es au
Access umgestellt werden.

Ich habe Acsess 2000 im Einsatz.

Ich habe ein Feld mit dem Namen PAN aus dem ergibt sich über eine
mathematische Funktion der LUHN. Im Excel habe ich mir eine Funktion
gezimmert welche mir das ganze rechnet, und immer automatisch aktualisiert.
Nun möchte ich dies auch im Access zur Verfügung haben. Wie muss ich da
vorgehen wo kann ich die Funktion aufrufen.

Gruss

Philippe

Das ist das bestehende Makro aus Excel

Public Function LUHN(PAN As String)
' Berechnung des LUHN nach ISO 7812

Dim m As Integer ' Hilfsvariable zum Berechnen des Luhn
Dim l As Integer ' Hilfsvariable zur Bestimmung mit welchem Faktor
gerechnet wird
Dim i As Integer ' Hilfsvariable zur Positionsbestimmung

l = 1
i = Len(PAN)

Do While i <> 0
If l Mod (2) Then
m = CStr(Mid(PAN, i, 1))
m = m * 2
If m > 9 Then
LUHN = LUHN + Left(m, 1) + Right(m, 1)
Else
LUHN = LUHN + m
End If
Else
m = CStr(Mid(PAN, i, 1))
LUHN = LUHN + m
End If

l = l + 1
i = i - 1
m = 0

Loop

LUHN = 10 - (LUHN Mod (10))

If LUHN = 10 Then
LUHN = 0
End If

' LUHN = LUHN

End Function


Philipp Stiefel

unread,
Apr 1, 2003, 3:29:54 AM4/1/03
to
Philippe Zogg <p_...@gmx.ch> schrieb:

> Ich setzte bis jetzt Excel ein um das folgende zu lösen. Nun muss es au
> Access umgestellt werden.

Als aller erstes solltest du folgende grundlegenden, konzeptionellen
Unterschied verinnerlichen. In Access sind Tabellen reine Daten-
speicher. Darin wird nicht gerechnet und nicht formatiert.



> Ich habe Acsess 2000 im Einsatz.
>
> Ich habe ein Feld mit dem Namen PAN aus dem ergibt sich über eine
> mathematische Funktion der LUHN. Im Excel habe ich mir eine Funktion
> gezimmert welche mir das ganze rechnet, und immer automatisch aktualisiert.
> Nun möchte ich dies auch im Access zur Verfügung haben. Wie muss ich da
> vorgehen wo kann ich die Funktion aufrufen.

Du kannst diese Funktion in deine Access-DB übernehmen und den
LUHN-Wert in einer Abfrage berechnen lassen.

SELECT PAN,
LUHN(PAN) AS BerechnetesLUHN
FROM deineTabelle


Gruß
Phil

--
Richtig zitieren im Usenet -> http://got.to/quote

Philippe Zogg

unread,
Apr 1, 2003, 3:40:56 AM4/1/03
to
Hallo Philipp

Danke für deine Antwort. Leider muss ich das ganze im Acsess rechnen weil
ander Programme die Daten berechnet brauchen. Leider versteh ich nicht ganz
wo ich diese Abfrage eingeben muss.

Gruss

Philippe

"Philipp Stiefel" <ph...@codekabinett.de> schrieb im Newsbeitrag
news:b6bpn3...@pluto.ksw.codekabinett.com...

Reiner Wolff

unread,
Apr 1, 2003, 5:28:36 AM4/1/03
to
Moin Philippe,

> Danke für deine Antwort. Leider muss ich das ganze im Acsess rechnen weil
> ander Programme die Daten berechnet brauchen. Leider versteh ich nicht
ganz
> wo ich diese Abfrage eingeben muss.

Kopiere dazu den SQL-Text von Philipp Stiefel. Einfügen kannst Du ihn, wenn
Du im Abfrage-Editor von Access bist und dort im Menü Ansicht auf
SQL-Ansicht gehst. Dort wird Dir immer der SQL-Code angezeigt. Abfragen
innerhalb von Access können grafisch bearbeitet werden, um die Eingabe zu
erleichtern, sie liegen jedoch immer aus SQL-Code vor.

Wenn Du die Daten tatsächlich fest in eine Tabelle von Access
hineinschreiben musst (kommt eigentlich nur dann vor, wenn der berechnete
Wert archiviert werden muss, da die Grunddaten sich im nachherein ändern
könnten), könntest Du mit einer Aktionsabfrage bzw. genauer mit einer
Aktualisierungsabfrage arbeiten.

Schau' Dir dazu einmal unter den Stichworten 'Abfrage', 'Aktionsabfrage' und
'Aktualisierungsabfrage' die Beiträge in der Online-Hilfe an.
Noch besser wäre an einer grundlegenden Access-Schulung teilzunehmen. Ich
wünschte, ich hätte das mal gemacht, das hätte mir viel Zeit ersparen
können.

Greetinx
Reiner


0 new messages