GELÖST SQL, Formatkonflikt bei Update auf decimal

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

WSO
*****
Beiträge: 233
Registriert: Di, 22.04.2014 13:03

GELÖST SQL, Formatkonflikt bei Update auf decimal

Beitrag von WSO »

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
Zuletzt geändert von WSO am Mo, 14.07.2014 23:34, insgesamt 1-mal geändert.
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: SQL, Formatkonflikt bei Update auf decimal

Beitrag von RobertG »

Hallo Wolfram,

wenn Du etwas in ein Dezimalfeld rein schreibst, dann müssen die Nachkommastellen mit dem Punkt als Trenner angegeben werden.

Gruß

Robert
WSO
*****
Beiträge: 233
Registriert: Di, 22.04.2014 13:03

Re: SQL, Formatkonflikt bei Update auf decimal

Beitrag von WSO »

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
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: SQL, Formatkonflikt bei Update auf decimal

Beitrag von RobertG »

Hallo Wolfram,

so etwas wie REPLACE musst Du nachstellen. Angenommen der Wert ist in stDecimal ausgelesen worden:

Code: Alles auswählen

stDezimal = Join(Split(stDezimal,","),".")
Dann hast Du den Trenner als Punkt und kannst das Ganze als Dezimalzahl in SQL einfügen.

Gruß

Robert
WSO
*****
Beiträge: 233
Registriert: Di, 22.04.2014 13:03

Re: SQL, Formatkonflikt bei Update auf decimal

Beitrag von WSO »

ja, habe ich genau so gemacht, waren halt ne Menge module zu verbessern,
gruss
wolfram
Antworten