Page 1 of 1

Berechnete Felder in ms-access geben bei Verwendung von UCanAccess falsche/abgeschnittene Werte zurück

Posted: 08 Jan 2025, 09:07
by Guest
Ich verwende UCanAccess, um Daten in eine Access-Datenbank mit den folgenden Spalten einzufügen oder zu aktualisieren
  • d1 double
  • d2 double
  • d berechnet als IIf((IIf([d1] Is Null,0,[d1])=-999),Null,IIf([d2] Is Not Null,Round(([d1]+[d2])/2,1),[d1]))
wobei d ein berechnetes Feld für ist der Mittelwert von d1 und d2.
Beim Zugriff funktioniert alles einwandfrei. Aber wenn ich über UCanAccess einfüge oder aktualisiere, erhalte ich abgeschnittene Ergebnisse in Spalte d.
Hier ist mein Code:

Code: Select all

Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
con = DriverManager.getConnection("jdbc:ucanaccess://" + database+ ";singleconnection=true", "", "");

try(Statement stmt = con.createStatement();){
stmt.execute("INSERT INTO Tab (d1, d2) VALUES (2.2, 2.4)");
//stmt.execute("UPDATE Tab SET d2 = 2.6;");
}
Die Werte sind korrekt geschrieben, aber Spalte d gibt 2 statt 2,3 an.
Irgendwelche Ideen, was hier falsch ist?