编译时间:语法错误

时间:2010-01-21 15:28:51

标签: ms-access vba

我可以在加载表单时添加控件。我需要对这些控件进行分类,以便用户一次只能看到几个。我的第一个想法是将控件附加到特定选项卡。不确定为什么语法在以下代码中是关闭的。谢谢你的帮助!

Private Sub Enter_Records_Click()

Dim stDocName As String
Dim tabPage As String
Dim tabNum As Integer
Dim i As Integer
Dim passedTabName As String

stDocName = "CLForm"
tabPage = "tabControl.tabPage"
stTabName = stDocName & tabPage
tabNum = 8 'the number of tabs on the "CLForm"

DoCmd.OpenForm stDocName, acDesign
For i = 0 To tabNum - 1
    passedTabName = stTabName & i
    CreateKeywords (stDocName, passedTabName)
Next i
DoCmd.Close acForm, stDocName, acSaveYes
DoCmd.OpenForm stDocName, acNormal

End Sub

Public Sub CreateKeywords(frmName As String, tabName As String)

另一个可能更好的想法,只是让按钮一次显示一类控件。这会更容易吗?

2 个答案:

答案 0 :(得分:2)

在调用具有多个参数并使用括号的方法时,您需要使用调用关键字。

例如,这些可行:

Call CreateKeywords(stDocName, passedTabName)
CreateKeywords stDocName, passedTabName
//Example of using parentheses with one parameter
Msgbox (stDocName) 

欢迎来到VBA的精彩世界。 ;)

答案 1 :(得分:0)

最好小心调用参数和括号:

Public Sub CallingSub()
   CallingArg = "ABCDEF"
   CalledFunc CallingArg
   Debug.Print CallingArg ''Result: 987654

   CallingArg = "ABCDEF"
   CalledFunc (CallingArg) ''Result: ABCDEF
   Debug.Print CallingArg

   CallingArg = "ABCDEF"
   Call CalledFunc(CallingArg)
   Debug.Print CallingArg ''Result: 987654
End Sub

Public Function CalledFunc(CalledFuncArg)
   CalledFuncArg = "987654"
   CalledFunc = "Return"
End Function