![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: ODBC
Formatierung von Floatfeldern in der Anzeige
Moin,
ahbe mit Delphi6, ADO-Table über eine ODBC-Schnittstelle auf eine MYSQL-Datenbank zugegriffen. Daten werden sauber geschrieben und stehen auch richtig in der Datenbank. Überprüft mit SQL-Statement. Wenn ich in Delphi eine nackte sicht auf die Daten anzeige, um die Daten kontrollieren zu können, dann haben die Float-Felder ewig viele Nachkommastellen. In der Datenbank steht aber nur eine Nachlommastelle. Wie kann ich es hinbekommen, das nur die wirklichen Nachkommastellen angezeigt werden? Vielen Dank im vorraus. Jan |
Re: Formatierung von Floatfeldern in der Anzeige
Klick mal recht auf deine ADO Table und wähle Feldeditor, und füge dort erst mal alle Tabellenfelder hinzu. Danach kannst du für dein Float Feld im Object inspector die Eigenschaft DisplayFormat anpassen, und z.B. auf ,0.00 setzen, um tausendertrennzeichen und 2 Kommastellen zu erhalten.
|
Re: Formatierung von Floatfeldern in der Anzeige
ist eine Möglichkeit. Möchte aber einfach nur die Daten aus der Datenbank und irgentwo muß es da eine falsche Übersetzung geben. Kann man das nicht generell irgentwo einstellen?
mfg Jan |
Re: Formatierung von Floatfeldern in der Anzeige
Der Fehler liegt wahrscheinlich am ODBC-Treiber.
Es wird statt einem TBCDfield ein TFloatField erzeugt. Oder es wird [TBCDfield].Precision nicht auf den korrekten Wert gesetzt. Wie wird denn dein Feld nun abgebildet ?
Delphi-Quellcode:
ShowMessage(ADOQuery1.FieldByName('DasFeld').Classname);
|
Re: Formatierung von Floatfeldern in der Anzeige
Moin,
hast Recht es ist ein TFloatField. Was kann man machen, damit man das richtige Format bekommt? mfg Jan |
Re: Formatierung von Floatfeldern in der Anzeige
Zitat:
Delphi-Quellcode:
procedure TForm1.ADOQuery1AfterOpen(DataSet: TDataSet);
begin (DataSet.FieldByName('DasFeld') as TFloatField).DisplayFormat := '##0.0'; end; |
Re: Formatierung von Floatfeldern in der Anzeige
Oder, für die ganz Schreibfaulen:
Delphi-Quellcode:
bzw.
procedure TForm1.ADOQuery1AfterOpen(DataSet: TDataSet);
begin TFloatField(DataSet.FieldByName('DasFeld').DisplayFormat := '##0.0'; end;
Delphi-Quellcode:
für einen Euro-Wert mit Tausendertrennzeichen und zwei Nachkommastellen.
procedure TForm1.ADOQuery1AfterOpen(DataSet: TDataSet);
begin TFloatField(DataSet.FieldByName('DasFeld').DisplayFormat := '#,##0.00 €'; end; |
Re: Formatierung von Floatfeldern in der Anzeige
Vielen Dank für die Hilfe.
mfg jan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz