AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mein Programm schreibt keine Floats in eine *.accdb
Thema durchsuchen
Ansicht
Themen-Optionen

Mein Programm schreibt keine Floats in eine *.accdb

Ein Thema von daredd · begonnen am 17. Jan 2011 · letzter Beitrag vom 17. Jan 2011
Antwort Antwort
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
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Mein Programm schreibt keine Floats in eine *.accdb

  Alt 17. Jan 2011, 20:27
Versuch mal
ADOTable1.FieldByName('EPreis_Brutto_V').Value := DBEdit4.Field.Value*1.19 +0.75;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Mein Programm schreibt keine Floats in eine *.accdb

  Alt 17. Jan 2011, 22:41
wahrscheinlich völlig daneben, aber rein zur Sicherheit...
die Felder sind in der DB als Floats angelegt?
kein fehlerhaftes Format auf der Oberfläche?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz