Access 2013 VBA - Festlegen eines neuen Klickereignisses für Steuerelemente
Ich habe überall danach gesucht und es scheint eine einfache Lösung zu sein, aber ich kann anscheinend keine Lösung finden. Ich habe mehrere Rechteck-Steuerelemente in meinem Access 2013-Formular und erstelle ein OnClick-Ereignis, das sie alle behandelt. Ich habe an ein paar verschiedenen Methoden gearbeitet und ich denke, ich habe den einfachsten / saubersten Weg gefunden, dies zu tun. Ich füge die Steuerelemente in eine Sammlung ein und ändere das OnClick-Ereignis für jedes Steuerelement. Hier ist mein Problem: Access öffnet das Formular und erkennt, dass ich das Ereignis für das Steuerelement geändert habe. Wenn ich jedoch auf das Steuerelement klicke, wird ein Fehler ausgegeben und das Ereignis nicht ausgeführt.
Der Fehler
"Der Ausdruck On Click, der als Ereignis-Eigenschaftseinstellung eingegeben wurde, hat den folgenden Fehler verursacht: Der von Ihnen eingegebene Ausdruck hat einen Funktionsnamen, den Microsoft Access nicht finden kann."
Der Code
Private Sub Form_Load()
Dim m_colRectangle As Collection
Dim ctl As Access.CONTROL
Set m_colRectangle = New Collection
For Each ctl In Me.Controls
If ctl.ControlType = acRectangle Then
If ctl.Name = "shpTest" Then
m_colRectangle.Add ctl, ctl.Name
ctl.OnClick = "=TestClick()" ' <--- Error on this line
End If
End If
Next ctl
End Sub
Private Sub TestClick()
MsgBox "Test"
End Sub
Alternativ habe ich ein einfaches @ versucshpTest.OnClick = "=TestClick()"
im Form_Load-Ereignis, und dies verursachte den gleichen Fehler. Hat jemand irgendwelche Ideen?