Kleine Wünsche - viel Aufwand ? [Gelöst]
Verfasst: Fr 14. Jun 2013, 21:16
Hallo liebe Gemeinde,
ich möchte das Folgende bloß mal zur Diskussion stellen:
Ich habe ein Base-Formular, das u.a. drei Textfelder beinhaltet. Die Eingaben sollten immer mit einem Anfangs-Großbuchstaben versehen sein (wg. Suchen, Gruppierung etc.). Das folgende Makro wird immer über das Ereignis "Fokusverlust" ausgelöst, es funktioniert alles bestens. Es kann sein, dass noch ein paar Anweisungen aus der Testphase enthalten sind.
Ist das nicht ein bisschen viel Aufwand dafür, dass lediglich der erste Buchstabe eines Eingabefeldes immer als Großbuchstabe gespeichert wird und dieses auch gleich nach der Eingabe im Formular angezeigt wird? Diese sofortige Anzeige erforderte nämlich auch die Feststellung, ob es sich um einen neuen Datensatz handelt oder nicht.
Habe ich mit Kanonen auf Spatzen geschossen?
Gruß
Jürgen
ich möchte das Folgende bloß mal zur Diskussion stellen:
Ich habe ein Base-Formular, das u.a. drei Textfelder beinhaltet. Die Eingaben sollten immer mit einem Anfangs-Großbuchstaben versehen sein (wg. Suchen, Gruppierung etc.). Das folgende Makro wird immer über das Ereignis "Fokusverlust" ausgelöst, es funktioniert alles bestens. Es kann sein, dass noch ein paar Anweisungen aus der Testphase enthalten sind.
Code: Alles auswählen
sub Anfang_Gross(oEvent AS Object)
DIM stMessage AS STRING
DIM feldname AS STRING
DIM ID AS LONG
oDatenquelle = ThisComponent.Parent.CurrentController ' Zugriffsmöglichkeit aus dem Formular heraus
IF NOT (oDatenquelle.isConnected()) THEN oDatenquelle.connect()
oVerbindung = oDatenquelle.ActiveConnection()
oSQL_Anweisung = oVerbindung.createStatement
fld = oEvent.Source
feldname = fld.Model.Name 'Welches Feld hat das Ereignis ausgelöst?
oDoc = thisComponent
rem oDoc=ThisDatabaseDocument.FormDocuments.getByName( "arztrech" ).open
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("arztrech")
oFeld = oForm.getByName(feldname)
stInhalt = oFeld.getCurrentValue()
str1 = Ucase(left(stInhalt,1))
str2 = mid(stInhalt,2,len(stInhalt) - 1)
stInhalt = str1 + str2
oFeld.BoundField.updateString(stInhalt) 'geänderten Inhalt in das Feld zurückschreiben
ID = oForm.getLong(1) 'wenn ID=0 -> neuer Datensatz
if ID > 0 then 'kein neuer Datensatz
oForm.updateRow() 'geänderten Feldinhalt in DB schreiben
oForm.reload() 'und anzeigen
endif
end sub
Habe ich mit Kanonen auf Spatzen geschossen?
Gruß
Jürgen