vb 利用模块连接access数据库出现的问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 04:05:22
----module模块代码----
Public conn As New ADODB.Connection
Sub Main()
Dim conn
Dim connstr
Set conn = New ADODB.Connection
Set conn = CreateObject("ADODB.Connection")
connstr = "provider=microsoft.jet.oledb.4.0;data source=F:\程序设计\admin.mdb"
conn.Open connstr
denglu.Show

End Sub

---窗体denglu.frm代码---
Public rs As New ADODB.Recordset

Private Sub Command1_Click()

If user.Text = "" Then
MsgBox "请输入用户名", vbCritical + vbOKOnly, "提示"
user.SetFocus
End If

If rs.EOF Then
MsgBox "密码错误", vbCritical + vbOKOnly, "提示"
Else
MDIForm1.Show
Unload Me
End If

End Sub
---窗体denglu.frm代码---
Public rs As New ADODB.Recordset
Private Sub Command1_Click()<

重新更新:如果你贴错了 你的代码那就没问题了

错误位置:模块中
Sub Main()
Dim conn
Dim connstr
处 请将Dim conn去除.这是重复定义,类型上会有冲突.
然后你再调试 应该没问题

你模块中的代码没有错
但你窗体中的代码问题可就大了 连rs记录集都没有打开
以下代码你可以更新你的窗体 是完整的登录代码.结构简单你可以添加其它功能,
另说明:在使用ADO时 需要工程 - 引用:MS ActiveX Data Objiect Lib... 2.5

Public rs As New ADODB.Recordset
Private Sub Command1_Click()

If user.Text = "" Then
MsgBox "请输入用户名", vbCritical + vbOKOnly, "提示"
user.SetFocus
Exit Sub '这里一定要退出 因为有没有输入用户 都会向下执行 这样是不对的.
End If
Set rs = conn.Execute("select 密码 from 表 where 用户='" & user.Text & "'") '建立一个查询 查询表中 用户的密码.
If rs.EOF Then
MsgBox "没有该用户~", vbCritical + vbOKOnly, "提示" '这里的EOF=true是没有记录的意思,对应就是说:没有该用户
Else
'rs(0)是第一个字段内容
If rs(0).Value <> "密码xxxx" Then MsgBox "密码错误", vbCritical + vbOKOnly, "提示&quo