[AccessD] Dynamically calling combobox_afterupdate from form_open event
Ryan W
wrwehler at gmail.com
Mon Mar 6 13:03:11 CST 2023
I have a form that takes openargs, the openargs are such as:
cbxJobID|12345
The key/pair set can be repeated.. the key is the control name, the other
is the data to input into the control name
my form open event is as such:
Private Sub Form_Open(Cancel As Integer)
Dim l As Long: l = 0
Dim strArgs() As String
If IsNull(Me.OpenArgs) Then Exit Sub
strArgs = Split(Me.OpenArgs, "|")
For l = 0 To UBound(strArgs) Step 2
Me(strArgs(l)) = strArgs(l + 1)
Call Eval(strArgs(l) & "_AfterUpdate")
Next l
End Sub
The problem I'm having is the "Call Eval()" part. I get an error:
"Run-Time error '2482':
Cannot find name 'cbxJobID_AfterUpdate' you entered in the expression.
However that exists. I've tried making it a public sub, private sub,
public or private function.
None of it seems to work. Maybe it can't be a form level function/sub, has
to be module level?
The microsoft documentation under examples shows the method I'm using is
supported:
https://learn.microsoft.com/en-us/office/vba/api/access.application.eval
The following example assumes that you have a series of 50 functions
defined as A1, A2, and so on. This example uses the *Eval* function to call
each function in the series.
Sub CallSeries()
Dim intI As Integer
For intI = 1 To 50
Eval("A" & intI & "()")
Next intI
End Sub
So, something is missing here... can anyone clue me in?
More information about the AccessD
mailing list