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