VB Combo连接Access数据库问题
DimrsAsNewADODB.RecordsetDimrs2AsNewADODB.RecordsetDimpass,UserAsStringPrivateSubForm...
Dim rs As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Dim pass, User As String
Private Sub Form_Load()
User = "Select * From 身份验证"
rs.Open User, conn, adOpenDynamic, adLockOptimistic
Do While Not rs.EOF
Combo1.AddItem (rs("User"))
rs.MoveNext
Loop
rs.Close
Private Sub cmdOK_Click()
If Passtxt.Text <> "" Then '密码输入文本框
pass = "Select * From 身份验证 where user=" & Combo1.Text
rs2.Open pass, conn, adOpenForwardOnly, adLockReadOnly
If rs2.EOF <> True Then
If rs2("Password") = Trim(Passtxt.Text) Then
Form2.Show
rs2.Close
end if
end if
end if
End Sub
这里用Combo1.text报错,实时错误'2147217904(80040e10)'
至少有一个参数没有被指定值。
我曾尝试用ListIndex的索引号查找用户名对应密码可以成功,但是由于用ListIndex查找对直接输入进去的文本无效,只能执行Click事件后才能获得ListIndex的索引,不是很方便,所以请各位高手指点一下为什么直接用Combo1.text查找就出现错误?
有能帮助解答的,我还会加分感谢,先谢谢了 展开
Dim rs2 As New ADODB.Recordset
Dim pass, User As String
Private Sub Form_Load()
User = "Select * From 身份验证"
rs.Open User, conn, adOpenDynamic, adLockOptimistic
Do While Not rs.EOF
Combo1.AddItem (rs("User"))
rs.MoveNext
Loop
rs.Close
Private Sub cmdOK_Click()
If Passtxt.Text <> "" Then '密码输入文本框
pass = "Select * From 身份验证 where user=" & Combo1.Text
rs2.Open pass, conn, adOpenForwardOnly, adLockReadOnly
If rs2.EOF <> True Then
If rs2("Password") = Trim(Passtxt.Text) Then
Form2.Show
rs2.Close
end if
end if
end if
End Sub
这里用Combo1.text报错,实时错误'2147217904(80040e10)'
至少有一个参数没有被指定值。
我曾尝试用ListIndex的索引号查找用户名对应密码可以成功,但是由于用ListIndex查找对直接输入进去的文本无效,只能执行Click事件后才能获得ListIndex的索引,不是很方便,所以请各位高手指点一下为什么直接用Combo1.text查找就出现错误?
有能帮助解答的,我还会加分感谢,先谢谢了 展开
3个回答
展开全部
pass = "Select * From 身份验证 where user='" & Combo1.Text & "'"
user不是数字类型吧,所以值要用''框起来。
user不是数字类型吧,所以值要用''框起来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql语句中where后面的字段名的值要用''(单引号)括起来,不然肯定会报错。
pass = "Select * From 身份验证 where user='" & Combo1.Text & "'"
pass = "Select * From 身份验证 where user='" & Combo1.Text & "'"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询