有一段小程序:
Function SsBm(Myfilter As String)
'提取所属部门
Dim trMyfilter As String
Dim rs As Recordset, strtemp, StrRyLx As String
Set rs = New ADODB.Recordset
strtemp = "Select * From 用户及权限 where 用户= '" & Myfilter & "'"
rs.Open strtemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
SsBm = rs("部门名称")
End Function
执行到rs.open时提示:方法和数据成员未找到。在网上找了半天所有的引用都有了。还是提示那个错误!郁闷中想起早先编的一些程序。翻出来看了看有了重大发现:原来在编译器中虽然引用了相关的类。但是程序执行时与引用的次序也有关系。这里我们需要引用Microsoft ActiveX Data Object *.* Library。这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本Access的同时,也能识别较新版本的Access。
这里我在 工程--引用中选择 Microsoft ActiveX Data Object 2.1 Library具体版本看你的Access的需要。引用后把它提在Visual Basic For Applications和Microsoft Access 11.0 Object Library 之后。也就是说在第二。
如此之后,再运行程序就不会出现上述问题了。我试过了之前虽然有但是该类排在后面就无法排除此错误。
遇到同样问题的盆友不妨一试。