AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Float Wert per ADO in Access Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Float Wert per ADO in Access Datenbank

Ein Thema von EC-PC · begonnen am 11. Mär 2009 · letzter Beitrag vom 13. Mär 2009
Antwort Antwort
Seite 1 von 2  1 2      
EC-PC

Registriert seit: 19. Feb 2009
6 Beiträge
 
#1

Float Wert per ADO in Access Datenbank

  Alt 11. Mär 2009, 13:10
Datenbank: MS Access • Version: 2009 • Zugriff über: Ado Connect
Hi zusammen,

vielleicht ist dieses Problem so trivial dass man es übersieht,
aber ich dreh allmählich am Rad ...

Ich versuche einen Gleitkommawert per ADO Verbindung in eine Access Tabelle zu schreiben,
irgenwie scheint die Jet Engine nur amerikanische Dezimaltrennzeichen zu unterstützen.

Aus 10,22 wird 1022, aus 43,87 wird 4387 ich finde einfache keine Lösung, weil die
Borland DB Komponenten wiederum kein 11.22 akzeptiert ...

für einen Tipp wäre ich dankbar ( warum hat eigentlich sonst niemand dieses problem ? )

Gruß Wolfgang
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: Float Wert per ADO in Access Datenbank

  Alt 11. Mär 2009, 13:23
Wie versuchst Du es denn? Per ADOQuery mit SQL-Parametern? Das sollte eigentlich funktionieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
EC-PC

Registriert seit: 19. Feb 2009
6 Beiträge
 
#3

Re: Float Wert per ADO in Access Datenbank

  Alt 11. Mär 2009, 13:28
Ich benutze eine ADO Connection und ADOTables,

funktioniert auch alles, bis auf die Spalte mit Floats ( Währung ) ...

Gruß Wolfgang
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: Float Wert per ADO in Access Datenbank

  Alt 11. Mär 2009, 13:32
Und wie sollen die neuen Werte eingetragen werden? Hast Du ein editierbares DBGrid oder gibt es da extra Eingabefelder?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

Re: Float Wert per ADO in Access Datenbank

  Alt 11. Mär 2009, 13:33
Hallo,
probier mal, ob Dir die FormatSettings weiterhelfen:

Delphi-Quellcode:
Var
  myFormatSettings : TFormatSettings;
...
begin
  GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT,myFormatSettings);
  myFormatSettings.DecimalSeparator := '.'; // <- oder ','?
...
  AdoTable.FieldByName('DeineFloatSpalte').AsFloat := DeinFloatWert;
  // oder
  AdoTable.FieldByName('DeineFloatSpalte').AsString := FloatToStr(DeinFloatWert, myFormatSettings);
...
end;
Stimmen die Einstellungen für den Dezimaltrenner beim Betriebssystem mit denen Deines Programmes überein?
  Mit Zitat antworten Zitat
EC-PC

Registriert seit: 19. Feb 2009
6 Beiträge
 
#6

Re: Float Wert per ADO in Access Datenbank

  Alt 11. Mär 2009, 13:38
Hab ich alles schon versucht,

die Lokalen einstellungen sind korrekt.
Dezimaltrenner = ','
TausenderTrenner = '.'

Wenn ich eine Float in ein BDEdit Feld eingebe wird sie richtig angezeigt,
aber nach dem post wird aus 12,34 1234,00.

Gruß Wolfgang
  Mit Zitat antworten Zitat
EC-PC

Registriert seit: 19. Feb 2009
6 Beiträge
 
#7

Re: Float Wert per ADO in Access Datenbank

  Alt 12. Mär 2009, 11:13
Sowas hab ich noch nicht erlebt,

Ich hänge jetzt seit 2,5 tagen an diesem Problem fest und
habe noch keine funktionierende Lösung. Bin ich wirklich der
einzige mit diesem Phenomän ?

Oder weiß zufällig jemand wie man im Jet 4.0 Verbindungs String
den Dezimal Seperator setzen / verändern kann ?

Gruß Wolfgang
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

Re: Float Wert per ADO in Access Datenbank

  Alt 12. Mär 2009, 12:13
Hallo,

habe gerade mal eine kleine Applikation mit 1 DBEdit, 1 DBGrid, 1 DBNavigator zusammengedaddelt. Zugriff auf eine Access-DB per ADO-Connection und ADO-Table.
Eingabe von 47,11 im DBEdit führt in der Datenbank zu 47,11.
Sprich. Den Fehler, der Dich zum "Wahnsinn" treibt, kann ich bei mir nicht nachvollziehen.
Daraus schließe ich, dass irgendwo irgendeine Einstellung bei Deiner Datenbank, dem Betriebssystem oder innerhalb der Applikation zu einem unerwünschten Seiteneffekt führt.
[edit]hat Schreib- und Grammatikfehler gefunden[/edit]

Geändert von nahpets (21. Nov 2017 um 17:41 Uhr)
  Mit Zitat antworten Zitat
EC-PC

Registriert seit: 19. Feb 2009
6 Beiträge
 
#9

Re: Float Wert per ADO in Access Datenbank

  Alt 12. Mär 2009, 13:30
Was für eine Access Version benutz du ?
und mit welcher Jet Engine ?

---------------

Okay ich habs,
dein proggy funzt einwandfrei, bis ich die datenbank einmal mit Access 2007 öffne,
dann hab ich das selbe Problem wieder. Vielen lieben Dank für Deine Mühe.

Jetz weiß ich zumindest woran es liegt.

Gruß Wolfgang
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#10

Re: Float Wert per ADO in Access Datenbank

  Alt 12. Mär 2009, 14:10
Hallo,

benutze Access 2003.

Die von Dir gelieferte Begründung ist doch wohl nicht Dein Ernst?
D. h.: Wer mit Delphi gegen Accessdatenbanken arbeitet und dann zufällig auf dem System ein Officeupdate gemacht wird und die Datenbank dann zufällig mal mit dem neuen Access geöffnet wird, hat anschließend ein Problem?

Der Seiteneffekt ist aber sehr ärgerlich.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:35 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