VB问题提代码错误问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:24:53
运行如下代码时,出现‘编译错误:用户定义类型未定义’的对话框,点确定后错误部份如图两行代码中,请问如何更改?
Private Sub Form_Load()
Dim rst As ADODB.Recordset
Dim rights As String
Dim sTokens() As String
Dim msg As String
'得到系统参数
Call setsystemPar
'查询权限信息
SQL = "select 权限 from 用户信息表 where 用户ID='" & Sys_UserID & "'"
Set rst = SelectSQL(SQL, msg)
If rst.RecordCount > 0 Then '如果存在记录
rights = Trim(rst.Fields(0))
rst.Close
Else
MsgBox ("没有用户信息!")
Exit Sub
End If
'设置权限
资料管理.Enabled = InStr(rights, "资料管理")
借书管理.Enabled = InStr(rights, "借书管理")
还书管理.Enabled = InStr(rights, "还书管理")
检索统计.Enabled = InStr(rights, "检索管理")
系统管理.Enabled = InStr(rights, "系统管理")
End Sub
你们说的我试过了,也不行的,结果还是出现上述的错误,我已经照书上的打上去了,运行时

dim conn as new adodb.connection

你好像没有链接数据库啊
要先链接了 才能打开记录

是否添加了这个引用呢?
microsoft activex data objects 2.8 libraray

如果添加了,那么定义时应该加上new,也就是
Dim rst As New ADODB.Recordset

1,你看下你有没有调用ADO组建
2,在dim rst 下面加一句set rst = new adodb.recordet 或者干脆把dim rst 这句改成dim rst as new adodb.recordset
再不行的话写出来提示的哪个用户定义类型未定义,直接这样写看着实在费劲有了查看对象就好找多了

如果我没有说错的话,这个定义有错误:
Dim rst As ADODB.Recordset
DIM "XX" AS 类名

添加引用就可以了
--------工程-----部件--------
添加 microsoft activex data objects 2.8 libraray