不能在MS Access中的“SubForm”对象上使用“Form”属性?

时间:2014-03-08 15:01:51

标签: vba ms-access access-vba ms-office

我正在尝试修复我没有创建的MS Access数据库(.mdb)的问题,并且它在另一台破坏的计算机上工作正常,有一个下拉列表可以从一个应该填充的值中选择下拉列表中的表格与查询结果取决于所选的值,错误为Run-time error

  

对象'_SubForm'的方法'Form'失败

所以我点击了debug,我得到了一个if语句列表,用于检查下拉值:

If dropdown = 1 Then
    Forms!mylist![namelist subform].Form.RecordSource = "SELECT ...  ;"
Else
If dropdown = 2 Then
    Forms!mylist![namelist subform].Form.RecordSource = "SELECT ...  ;"
Else

错误来自:

Forms!mylist![namelist subform].Form

我试图找出对象的类型:

Debug.Print TypeName(Forms!mylist![namelist subform])

它打印了SubFormdocs中的Form属性下有SubForm,那么可能导致此问题的原因是什么?

对不起,如果这个问题很愚蠢或非常简单,但我对Visual Basic以及我今天所学到的所有内容都不了解,只是为了解决问题,对此感到抱歉。

我认为数据库是在MS Access 2003上创建的,我在XP SP3和Windows 7上尝试使用Access 2003和2007上的数据库并且它不起作用,但它在我在计算机上的XP SP3上使用Access 2007无法访问。

那么可能导致这个问题的原因是什么?这是一个编码问题还是我错过了一些依赖?

2 个答案:

答案 0 :(得分:2)

当您遇到表单问题时,需要检查各种事项:

答案 1 :(得分:1)

你应该在这里使用点符号。

假设此代码以相同的形式运行,那么这应该有效:

Me.namelist_subform.Form.RecordSource  = "select * from qyCustChild"