Stringkonvertierung im Formularfeld

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Lüdemann
Beiträge: 1
Registriert: Mo, 12.10.2009 10:41

Stringkonvertierung im Formularfeld

Beitrag von Lüdemann »

Guten Nachmittag!

Eine kleine Frage, eigentlich nix weltbewegendes, aber mir ist noch nicht ganz klar, wie ich in OO grundsätzlich auf Daten aus den Formularfeldern zugreife und wie ich ggf. Änderungen per Makro oder implementierten Funktionen vornehmen kann.

Folgendes Szenario:

1) Ich benutze ein Base-Formular als Interface zu einer Sybase-Datenbank, auf die ich per ODBC zugreife.
2) Einige Felder, die eigentlich Dezimalwerte in "."-Darstellung (10.2) beinhalten sollen, werden manchmal von Benutzer mit Kommas beschrieben (10,2). Der Datentyp ist in der Datenbank als STRING definiert. Aus Gründen, die ich hier nicht weiter erläutern kann, muss das auch so bleiben (bei DECIMAL würden im Formular die Werte automatisch angeglichen, so jedenfalls meine Erfahrung). Ich benutze also Strings, um Dezimalwerte darzustellen, diese müssen aber alle in Kommaschreibweise vorliegen.
3) Bei Eingabe von Kommazahlen soll automatisch das "," in einen "." gewandelt werden. Mein Idee ist, über die Ereignis-Steuerung der Felder diesen Ausstausch vorzunehmen (Aufruf einer Funktion/eines Makros vor dem Submit oder bei Wechsel des Datensatzes).

Hat jemand einen Tipp für mich?
Zuletzt geändert von Lüdemann am Mo, 12.10.2009 15:09, insgesamt 1-mal geändert.
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Stringkonvertierung im Formularfeld

Beitrag von Barlee »

Hallo Lüdemann,

Willkommen im Forum!
Aus meiner Sicht hast Du drei Möglichkeiten:
1) Makro, das beim Einfügen eines Datensatzes ausgeführt wird. Hier solltest Du Beiträge bzw. Hilfe zur Umsetzung finden viewforum.php?f=18
2) auf DB Ebene mittels Trigger, der bei einem INSERT mittels REPLACE das Komma durch einen Punkt ersetzt. Zu Trigger siehe z.B. viewtopic.php?f=8&t=27120&p=115026&hili ... er#p115026
Syntax natürlich auf Sybase anzupassen!
3) Falls die Anzahl der Stellen vor und hinter dem Trennzeichen immer gleich ist: auf Formularebene mittels maskiertem Feld, Eingabemaske und Zeichenmaske (z.B. Eingabemaske NNLNN, Zeichenmaske __.__ >> Benutzer kann die Unterstriche nur mit Zahlen "auffüllen", der Punkt ist eine Konstante)

Gruß Barlee
Antworten