Compile Error: Argument Not Optional | Access VBA
Compile Error: Argument Not Optional | Access VBA
我在 Access 上有一个表格,其中有 3 个组合框(部分,房间:白宫,房间:丘吉尔)。我需要它,所以当从 'Section' ComboBox 中选择 'White House' 时,'房间:Churchills 将被锁定。而 'Churchills'.
相反
我有代码:
Private Sub Section_Change()
If Section.Value = "White House" Then
Rooms__White_House.Enabled = True
Rooms__Churchills.Enabled = False
Else: Section.Value = "Churchills"
Rooms__White_House.Enabled = False
Rooms__Churchills.Enabled = True
End If
End Sub
但是当我测试表单时它抛出错误:
Compile Error: Argument Not Optional
感谢任何帮助。提前致谢!
问题是Section
是一个保留字。所以编译器不会将其识别为您的组合框的名称。只需将组合的名称更改为其他名称,例如cboSection,您的代码将编译。 (您自然需要更改代码以匹配新名称)。
此 link 显示了使用 Access 时应避免使用的名称列表 http://allenbrowne.com/AppIssueBadWord.html
顺便说一句,你的台词
Else: Section.Value = "Churchills"
似乎有点奇怪,因为它正在设置组合的值。我猜你是想评论如果你进入 Else 部分的值必须是什么。如果是这种情况,那么您需要在评论前添加撇号,即
Else: 'Section.Value = "Churchills"
我在 Access 上有一个表格,其中有 3 个组合框(部分,房间:白宫,房间:丘吉尔)。我需要它,所以当从 'Section' ComboBox 中选择 'White House' 时,'房间:Churchills 将被锁定。而 'Churchills'.
相反我有代码:
Private Sub Section_Change()
If Section.Value = "White House" Then
Rooms__White_House.Enabled = True
Rooms__Churchills.Enabled = False
Else: Section.Value = "Churchills"
Rooms__White_House.Enabled = False
Rooms__Churchills.Enabled = True
End If
End Sub
但是当我测试表单时它抛出错误:
Compile Error: Argument Not Optional
感谢任何帮助。提前致谢!
问题是Section
是一个保留字。所以编译器不会将其识别为您的组合框的名称。只需将组合的名称更改为其他名称,例如cboSection,您的代码将编译。 (您自然需要更改代码以匹配新名称)。
此 link 显示了使用 Access 时应避免使用的名称列表 http://allenbrowne.com/AppIssueBadWord.html
顺便说一句,你的台词
Else: Section.Value = "Churchills"
似乎有点奇怪,因为它正在设置组合的值。我猜你是想评论如果你进入 Else 部分的值必须是什么。如果是这种情况,那么您需要在评论前添加撇号,即
Else: 'Section.Value = "Churchills"