VBA引用其名称中带有点的表单上的字段

时间:2013-09-25 16:02:36

标签: vba ms-access access-vba field

我正在开发Access 2010项目,我创建了一个表单,并使用if语句来启用/禁用字段。

我正在使用的代码是,

DueDate.Enabled = False

除了名为“tblJobs.Engineer”的组合框之外,这个工作正常。我无法重命名这个字段,但我认为问题是它中的点,因为我需要获取错误对象。

我尝试在开始时添加Forms!frmJobs!,但仍然遇到相同的错误。

2 个答案:

答案 0 :(得分:3)

将问题名称括起来,以便将其识别为“事物”。

[tblJobs.Engineer].Enabled = False

答案 1 :(得分:1)

你已经有了一些很好的意见,但我只想稍微澄清一下。

1)不要在字段,表格,表格或查询的名称中使用空格,符号或标点符号。

2)考虑重命名表单上的控件,使它们的名称与它们绑定的底层DAO Recordset字段不同。这样,如下所示,您可以选择单独引用字段或控件,而不会对程序员或MS Access造成任何混淆。

'Refer to a combo
Me.cboEngineer.Enabled = False

'Refer to a textbox
Me.txtDueDate.Enabled = False

'Refer to an underlying DAO Recordset field (early binding)
Me.Engineer = "Donald"

'Refer to an underlying DAO Recordset field (late binding)
Me!Engineer = "Donald"