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