Access 97 - Überlauf beim Rechnen

Hallo,
ich habe ein seltsames Problem.

Eine Funktion bricht wegen eines Überlaufes ab, wenn lediglich 256 * 216 gerechnet werden soll. Diverse kleinere oder größere Zahlen funktionieren dagegen. (Variable ist als LONG definiert)

Ist das ein Bug? (oder habe nur ich das Problem?)

Zum Ausprobieren im VB-Testfenster:

? 240 \* 128 =\> klappt
? 256 \* 216 =\> Überlauf-Fehler
? 2345 \* 65432 =\> klappt

Hallo,
ich habe ein seltsames Problem.

Eine Funktion bricht wegen eines
Überlaufes ab, wenn lediglich 256 * 216
gerechnet werden soll. Diverse kleinere
oder größere Zahlen funktionieren
dagegen. (Variable ist als LONG
definiert)

Ist das ein Bug? (oder habe nur ich das
Problem?)

Access macht manchmal implizite Typkonversionen, die in die Hose gehen, in diesem Fall in einen Integer.
Um sicherzustellen, dass wirklich als Long gerechnet wird, muss man manchmal Klammern setzen, Long-Konstanten verwenden oder Zwischenergebnisse in typisierten Variablen ablegen.

Reinhard

Hallo Reinhard!

Wow, das muß man ja auch erst mal wissen…
Danke für den Hinweis! (Und das nach zig Jahren Access )

Access macht manchmal implizite
Typkonversionen, die in die Hose gehen,
in diesem Fall in einen Integer.
Um sicherzustellen, dass wirklich als
Long gerechnet wird, muss man manchmal
Klammern setzen, Long-Konstanten
verwenden oder Zwischenergebnisse in
typisierten Variablen ablegen.

Reinhard