Guten Morgen Zusammen,
Ich schreibe per Makro in ein Tabellenfeld (decimal 10,2).
Die Variable im Makro mit dem neuen Wert (kommt aus einem Formularfeld) ist als DOUBLE definiert.
Der Inhalt ist ueberpruefbar korrekt.
Bei einen UPDATE mit einem nicht ganzzahligen Wert (und nur dann), bekomme ich einen SQL-Fehler wegen Formatkonflikt.
Das Datenbankfeld war zuvor falsch angelegt, als Decimal ohne Nachkommastellen.
Habe das korrigiert (ueber die GUI) auf 10.2
Hat nichts gebracht, SQL meckert weiter.
Habe darufhin testweise im Makro die Variable als "long" definiert, der SQL-Befehl lief durch, die Dezimalstellen aus dem Eingabefeld der Maske waren natuerlich weg, ist ja logisch.
Letzter Versuch war die Aenderung des Tabellenfeldes auf double.
Leider wieder der gleiche Fehler beim UPDATE.
An anderen Feldern aus den SQL-Statement kann es nicht liegen, denn wie gesagt, bei ganzzahligen Werten gibt es kein Problem.
Hat jemand eine Idee, was ich da noch machen kann? (ausser jetzt endlich ins Bett zu gehen und Morgen wieder daran zu gehen ...)
Gruss,
Wolfram
GELÖST SQL, Formatkonflikt bei Update auf decimal
Moderator: Moderatoren
GELÖST SQL, Formatkonflikt bei Update auf decimal
Zuletzt geändert von WSO am Mo, 14.07.2014 23:34, insgesamt 1-mal geändert.
Re: SQL, Formatkonflikt bei Update auf decimal
Hallo Wolfram,
wenn Du etwas in ein Dezimalfeld rein schreibst, dann müssen die Nachkommastellen mit dem Punkt als Trenner angegeben werden.
Gruß
Robert
wenn Du etwas in ein Dezimalfeld rein schreibst, dann müssen die Nachkommastellen mit dem Punkt als Trenner angegeben werden.
Gruß
Robert
Re: SQL, Formatkonflikt bei Update auf decimal
Moin Robert,
da waere ich nicht drauf gekommen ...
Das gilt dann sicher grundsaetzlich, also auch bei double, float, ... ?
Konkret bedeutet das doch jetzt:
- den Dezimalwert als String mit bearbeiten und so an SQL-Statement uebergeben
Frage: gibt es so was wie das "REPLACE" in VBA, oder muss ich mir das basteln?
Gruss,
Wolfram
da waere ich nicht drauf gekommen ...
Das gilt dann sicher grundsaetzlich, also auch bei double, float, ... ?
Konkret bedeutet das doch jetzt:
- den Dezimalwert als String mit bearbeiten und so an SQL-Statement uebergeben
Frage: gibt es so was wie das "REPLACE" in VBA, oder muss ich mir das basteln?
Gruss,
Wolfram
Re: SQL, Formatkonflikt bei Update auf decimal
Hallo Wolfram,
so etwas wie REPLACE musst Du nachstellen. Angenommen der Wert ist in stDecimal ausgelesen worden:
Dann hast Du den Trenner als Punkt und kannst das Ganze als Dezimalzahl in SQL einfügen.
Gruß
Robert
so etwas wie REPLACE musst Du nachstellen. Angenommen der Wert ist in stDecimal ausgelesen worden:
Code: Alles auswählen
stDezimal = Join(Split(stDezimal,","),".")
Gruß
Robert
Re: SQL, Formatkonflikt bei Update auf decimal
ja, habe ich genau so gemacht, waren halt ne Menge module zu verbessern,
gruss
wolfram
gruss
wolfram