编译错误:参数不可选|访问VBA

时间:2015-03-21 23:39:38

标签: vba ms-access

我在Access上有一个表格,我有3个组合框(部分,房间:白宫,房间:丘吉尔)。我需要拥有它,所以当''白宫'从'Section'ComboBox中选出时,'房间:丘吉尔将被锁定。与'丘吉尔斯'相反。

我有代码:

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

感谢任何帮助。在此先感谢!

1 个答案:

答案 0 :(得分:1)

问题是Section是保留字。因此编译器不会将其识别为组合框的名称。只需将组合的名称更改为其他名称,例如cboSection,你的代码将编译。 (您自然需要更改代码以匹配新名称。)

此链接显示使用Access http://allenbrowne.com/AppIssueBadWord.html

时应避免使用的名称列表

BTW,你的行

Else: Section.Value = "Churchills"

似乎有点奇怪,因为它设置了组合的值。我猜你在评论如果你进入Else部分必须是什么值的意思。如果是这种情况,则需要在注释前添加撇号,即

Else: 'Section.Value = "Churchills"