pcfjkg
Goto Top

Umstieg von Ms-Access 2000 auf 2003, Fehler bei DSUM()

DSUM("[Spaltenname, deklariert als decimal(5, 2)]","Tabellenname","[Spaltenname] = Bedingung")

In einer Variablen vom Typ Single soll der Rückgabewert von DSUM() gespeichert werden. Das funktionierte auch bisher mit Access 2000. Nun habe ich Access 2003 im Einsatz, verbinde ein damit erstelltes *.adp mit einm SQL-2008-Server und die gleiche (also von Access-2000 unverändert übernommene Funktion) DSUM() bringt einen Error. Wenn ich das Ergebnis von DSUM() in eine Variable vom Typ Variant speichere, wird kein Error erzeugt, der Inhalt der Variablen ist als ".00" (nicht NULL; nicht 0,00; nicht 0 sondern <Punkt><0><0>) im Debugger sichtbar. In der Tabellendefinition der Domäne ist der Typ der zu summierende Spalte als decimal definiert. Die Single-Variable als currency zu deklarieren bringt auch nichts.
DSUM() wird im Projekt so häufig verwendet, dass eine "Notvariante" z.B. mit einer kleinen Hilfsroutine, welche ein derartiges Ergebnis in den Wert 0 wandelt zwar prinzipiell möglich ist, aber keine echte Alternative darstellt.

Hat jemand eine Idee zur Ursache ?

Im Voraus danke,
PCFJKG


Soeben stelle ich darüber hinaus fest, dass DSUM() das in der Tabelle gespeicherte Komma "ignoriert". Ein dort z.B. gespeicherter Wert, von 5,12 geht als 512 in das Ergebnis von DSUM() ein...


PCFJKG

Content-Key: 110120

Url: https://administrator.de/contentid/110120

Printed on: April 25, 2024 at 09:04 o'clock