2016-12-15 79 views
2

我在我的Microsoft Access应用程序中出现此编译错误。我最近开始致力于MS访问。所以我是VBA中的新代码。我有一个桌面应用程序(Access 2003),在用户点击列标题后,需要对公司列表进行排序。它正在工作,但是一旦我点击'编译',它就会抛出我这个错误。如果我注释掉下面的代码,我的程序会编译,但排序不起作用。请帮忙。访问编译错误 - 用户定义类型未定义vba访问

Dim ListViews As New clsListViews 
Private Sub lstVendorList_ColumnClick(ByVal ColumnHeader As Object) 
    ListViews.SortColumns lstVendorList, ColumnHeader 
End Sub 

当我在网上调查。许多人都在谈论参考。在我的参考,我已经检查

Microsoft DAO 3.6 Object Library 
Visual Basic For Applications 
Microsoft Access 9.0 object library. 
+0

'lstVendorList'从哪里来?另外,编译错误应该突出标识符。哪一个? –

+0

@ Mat'sMug:lstVendorList是我需要排序的公司/供应商的列表。编译器在第一行突出显示。 (即Dim ListViews As New clsListViews)。再次,这不是我的代码,我正在尝试其他的东西,但由于listview导致编译错误。 – toofaced

+0

VBA项目中是否有'clsListViews'类模​​块? –

回答

2
Dim ListViews As New clsListViews 

该指令声明了一个名为ListViews模块级对象变量,clsListViews类型。

VBA看起来处处它能为一个名为clsListViews,它可以创建一个实例,并分配ListViews参考,当它不能找到它,它给你,你所看到的编译错误类。

确保您只有New上的存在类型的对象。如果在New之后键入空格时未在IntelliSense /自动完成中列出,则可能不是合法类型。

+1

所以,我必须暗淡ListViews和lstVendorList?当我将Dim ListViews作为列表框。它给了我'找不到方法或数据成员',并在'SortColumns'上突出显示。如果我问小问题,我很抱歉,但我刚开始学习VBA。 – toofaced

+0

我无法猜出你想要做什么。如果您从网上某处复制代码,则在使用它之前需要了解它。这个新的错误意味着'ListBox'没有'SortColumns'成员/方法,所以你不能调用一个不存在的方法。 –

相关问题