MS Access / VBA -- Event Handling im Formular?
Ich hab ein Formular und versuche, wenn auf IRGENDEIN Textfeld geklickt wird, ein Makro bzw. Code zu starten. Ich will aber nicht vorher angeben müssen, welche Textfelder das sind und will auch keine 30 onclicks für jedes Textfeld.
Habt ihr ne Idee? Hab schon gegooglet..
2 Antworten
Du könntest das OnClick-Ereignis des Formulars abfangen und in der Ereignisbehandlung prüfen, welches Element den Fokus hat.
Meine Tests ergaben, dass meine Idee nicht zielführend ist.
Versuch einmal, beim Laden des Formulars bei allen oder ausgewählten Controls das Click-Ereignis zu definieren. Das könnte so aussehen:
Public Function Ele_Click()
Debug.Print "Aktives Control: " & Me.ActiveControl.Name
End Function
Private Sub Form_Open(Cancel As Integer)
'Textfeld.OnClick = "=Ele_Click()"
'Zahlfeld.OnClick = "=Ele_Click()"
'...
Dim ctrl As Control
For Each ctrl In Me
ctrl.OnClick = "=Ele_Click()"
Next
End Sub
du kannst den textfeldern im Entwurfsmodus unter den Eigenschaften den Ereignissen auch Functions zuordnen.
Das will ich gerade nicht machen, da wenn irgendwann neue Textfelder hinzukommen, ich das immer wieder machen muss.
Danke! Hast du nen kleinen Codeschnippsel o.ä. für mich? Beuntze ich google, finde ich immer nur Beispiele in denen das onclick eines bestimmten Steuerelements abgefangen wird, ich weiß nicht wie ich das quasi fürs ganze Formular machen kann.