我有一个在Access 2010中创建的数据库。我们最近将我们的系统更新为Access 2013.在Access 2010中,我没有错误访问表单对象
Form_frmName.txtFieldName.Value
但是,在使用Access 2013时,我收到运行时2424错误,指出“您输入的表达式具有Microsoft Access无法找到的字段,控件或属性名称。我正在从模块访问。
模块使用
设置这些字段With Form_frmName
.txtFieldName.Visible = True
End With
在尝试访问它们之前。
2010年至2013年期间,对象的访问方式是否有任何变化?这是其他人面临的问题吗?
回应@ WayneGDunn的问题
QUOTE: 我需要确切地知道你使用它的内容和方式。 1.您在表单上有一个名为“txtFieldName”的绑定文本框。正如@brad问的那样,是否存在子表单,如果是,那么子表单上的这个字段是什么? 2.您说代码在模块中,但是字段中的代码是定义字段的吗? 3.请解释'frmQAtab'的位置/形式(你说你的表单名称是'frmName',那么另一个是什么相关的?) 4.代码是否在事件中?你能分享整个子程序吗? 5.您是否尝试过创建虚拟查询并使用构建器来引用该字段?
RESPONSE: 1.我有一个带有多个标签页的表单(frmMain)。 frmName是其中一个选项卡,包含绑定字段txtFieldName。 2.模块从字段所在的表单运行。 3.我的道歉frmQAtab是frmName,我只是忽略了在我的复制粘贴中制作那个泛型。 4.该事件是一个按钮点击。按钮单击从模块运行子。该子类使字段可见,基于用户输入运行查询(两个日期字段),使用返回的记录集填充绑定字段,然后尝试访问它们进行处理(运行另一个查询以处理完整的其他字段集) )。发布整个子程序会比我要求你咀嚼的要多一些。这是我试图修复的遗留代码,它相当大。 我没有尝试过虚拟查询。访问不是我的领域(我主要是一个C#,脚本,家伙。)你能给这个领域有什么建议吗?
答案 0 :(得分:0)
以下对您的字段的引用之一应该有效。我创建了一个表单(名为'frmMain'),然后使用两个选项卡创建了一个Tab Control。在第一个选项卡上,我插入了另一个表单(名为“frm3197”)。我还在选项卡控件上创建了一个名为'txtFieldName'的文本框,其格式为'frm3197'。从按钮单击'frmMain',以下将引用每个字段。
Private Sub cmdButton1_Click()
Forms![frmMain]![txtFieldName] = Now()
Forms![frmMain]![frm3197].Form![txtFieldName] = Now()
End Sub