Einzelnen Beitrag anzeigen

daredd

Registriert seit: 2. Apr 2006
433 Beiträge
 
#1

Mein Programm schreibt keine Floats in eine *.accdb

  Alt 17. Jan 2011, 12:54
Datenbank: Access • Version: 2007 • Zugriff über: ADO
Hallo Freunde,

ich habe eine Access 2007 Datenbank erstellt (*.accdb). Dort ist auch eine Tabelle mit Währungen (Kommazahlen enthalten). Nun möchte ich via ADO auf die Datenbank zugereifen und Enträge hinzufügen/ändern.
Als Provider benutze ich "Microsoft Office 12.0 Access Database Engine OLE DB Provider".
Die Connection steht, DBGrid zeigt auch alles an. Nun tippe ich in einigen DBEdits neue Werte ein, die ich dann durch das betätigen eines Buttons in die Tabelle posten möchte hier der Button-Code:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
  myFormatSettings : TFormatSettings;
begin
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT,myFormatSettings);
  myFormatSettings.DecimalSeparator := ','; // <- oder ','?
ADOTable1.Edit;
ADOTable1.FieldByName('Artikelnummer').AsString := 'KM-'+DBEdit1.Field.AsString;
ADOTable1.FieldByName('EPreis_Brutto_V').AsFloat := (DBEdit4.Field.AsFloat*1.19)+0.75;
ADOTable1.FieldByName('VPreis_Brutto').AsFloat := DBEdit5.Field.AsFloat-((DBEdit5.Field.AsFloat/100)*8);
ADOTable1.FieldByName('Marge').AsFloat := ADOTable1.FieldByName('VPreis_Brutto').AsFloat-ADOTable1.FieldByName('EPreis_Brutto_V').AsFloat;
ADOTable1.FieldByName('Marge_Prozent').AsFloat := ((ADOTable1.FieldByName('VPreis_Brutto').AsFloat-ADOTable1.FieldByName('EPreis_Brutto_V').AsFloat)/ADOTable1.FieldByName('VPreis_Brutto').AsFloat)*100;
ADOTable1.Post;
end;
Nach dem Button1Click, stehen keine float-werte in der Tabelle. Die Kommata werden einfach gelöscht!
Ich habe im Internet schon einiges dazu gefunden, aber nichts sinnvolles gefunden. Hat jemand eine Ahnung?
---------------------------------------------------------------------------
Mein Vista-Kind bringt frischen Wind

Gruß DaRedd aka The Red Dragon

Geändert von mkinzler (17. Jan 2011 um 20:25 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat