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"