我试图让表单调用子表单的函数,并且不确定我应该使用什么语法。我的尝试如下。
在表格中:
Dim ctl As Control
For Each ctl In Me.Form
If ctl.ControlType = acSubform And InStr(ctl.Name, "Magnets") > 0 And ctl.Name <> "UnscheduledMagnets" Then
'THE LINE BELOW DOESN'T WORK
Call ctl.Form.Initialize2(CalendarArray(0, 1), CalendarArray(0, 0), strQuery, CInt(Mid(ctl!Name, 1, 1)))
End If
Next ctl
在子表单中:
Public Sub Initialize2(intDay As Integer, intDate As Long, strQuery As String, intDivision As Integer)
'Details not important since the function isn't even being called
End Sub
谢谢!
答案 0 :(得分:0)
试试这个
Form_NameOfYourSubform.Initialize2(CalendarArray(0, 1), CalendarArray(0, 0), strQuery, CInt(Mid(ctl!Name, 1, 1)))
End If
答案 1 :(得分:0)
显然它不起作用导致我自己的愚蠢...我的语法没问题,但是我的一个参数引用了ctl!Name,一个名为Name的表单控件,它不存在,而是ctl.Name,这是子表单的名称。希望我可以对我原来的帖子投票评论作为我的问题的答案,但我不能。