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

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Berechnete Felder in ms-access geben bei Verwendung von UCanAccess falsche/abgeschnittene Werte zurück

by Guest » 08 Jan 2025, 09:07

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?

Top