Seite 1 von 1

[gelöst] Maskiertes Feld - Probleme damit

Verfasst: Fr 8. Sep 2023, 14:05
von HeiDieLX2
Hallo zusammen,

da ist ein Problem an dem ich bereit reichlich lange kaue, jedoch keine Lösung finde.

Maskiertes Feld deshalb, weil aus historischen Gründen der Inhalt in Großbuchstaben gespeichert deren soll.
In der Postgesql DB ist das Feld als Text-Varchar 40 definiert.
Der Button der die Formulardaten speichert ist bei Aktion mit Datensatz speichern definiert.

Da Feld in Formular ist wie gesagt Maskiertes Feld mit Länge 40 und in der Eingabemaske 40 * "X".
Dies hat den Effekt, dass in der DB immer ein String mit 40 Zeichen Länge abgespeichert wird.

Ich könnte ja nun nur 15 "X" einbauen, dann darf der Eintrag auch nicht länger als 15 Zeichen sein, weil mehr Zeichen werden vom Feld nicht angenommen.

Wie könnte als ein Lösungsansatz an dieser Stelle aussehen? - Vielleicht ohne die ganze Systematik umbauen zu müssen.

Re: Maskiertes Feld - Probleme damit

Verfasst: Mo 11. Sep 2023, 20:57
von RobertG
Ich würde die Eingabe in ein ganz normales Textfeld machen und dann vor der Datensatzaktion den Inhalt des Feldes in Großbuchstaben durch ein Makro umwandeln. Die Funktion UCASE wandelt in Basic einen String in einen mit Großbuchstaben um.

Re: Maskiertes Feld - Probleme damit

Verfasst: Mi 13. Sep 2023, 17:19
von HeiDieLX2
Danke für den Hinweis,
Melde mich wieder wenn ich es implementiert habe.

Re: Maskiertes Feld - Probleme damit

Verfasst: Mi 13. Sep 2023, 20:57
von HeiDieLX2
Hallo,

so habe ich das nun gelöst:
1. Maskiertes Feld in Textfeld geändert. Name des Feldes "txtmaskSuchNa"
2. Code an der richtigen Stelle bei meinem Ablauf eingefügt. Hier die entscheidenden Zeilen.

Code: Alles auswählen

	...
	csSuchNam = UCASE(TRIM(oForm1_1.txtmaskSuchNa.text))
	oFld = oForm1_1.getByName("txtmaskSuchNa")
	oFld.BoundField.updateString(csSuchNam)
	...
Nun läuft es wie es soll!
Danke