展开全部
应该是在黄色凸显代码行之前没声明、实例化或打开记录集对象“rs”,另外有关代码要引用ADO类库,请检查菜单——工程——引用 是否勾选了 Microsoft ActiveX Data Objects 2.5 Library 或其他版本的ADO类库
追问
那请问怎么声明、实例化或打开记录集对象“rs”呢?
那个已经勾选过了
追答
请参考下例
Private Sub Form_Load()
Dim cn As New ADODB.Connection '声明并实例化一个ADO连接对象
Dim cnStr As String '声明一个连接字符串变量
Dim rs As New ADODB.Recordset '声明并实例化一个记录集对象
Dim sqlStr As String '声明一个SQL查询字符串变量
'设置连接当前目录下“MyAccess.mdb”之连接字符串
cnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False;"
cn.Open cnStr '打开与该数据库的连接
rs.CursorLocation = adUseClient '设置为客户端游标
'设置查询表名列表之SQL语句
sqlStr = "select Name from MsysObjects where type=1 and Flags=0"
rs.Open sqlStr, cn '打开数据库表记录集
'因为直接读取“MsysObjects“得到的表名列表秩序混乱,故这里强制对表名进行排序
rs.Sort = "Name ASC"
'循环逐个将表名放置到列表框里
Do Until rs.EOF
List1.AddItem rs!Name
rs.MoveNext
Loop
rs.Close '关闭记录集
Set rs = Nothing '释放记录集对象
cn.Close '关闭连接
Set cn = Nothing '释放连接对象
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询