作者:祖朝伯 | 来源:互联网 | 2023-06-04 23:09
DimconnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetPrivateSubCombo1_Click()Wit
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Combo1_Click()
With rs
.Close
.Open "select * from sys where id='" + Combo1.Text + "'", conn, 3, 3
End With
Text1.Text = rs.Fields("姓名")
End Sub
Private Sub Command1_Click()
If Text1.Text = "" Then
MsgBox "请选择用户!", vbCritical
Combo1.SetFocus
ElseIf Text2.Text = "" Then
MsgBox "请输入原密码!", vbCritical
Text2.SetFocus
ElseIf Text3.Text = "" Then
MsgBox "请输入新密码!", vbCritical
Text3.SetFocus
ElseIf Text3.Text <> Text4.Text Then
MsgBox "密码校验错误!", vbCritical
Text4.SetFocus
Else
With rs
.Close
.Open "update sys set 密码='" + Text4.Text + "' where id=" + Combo1.Text + "", conn, 3, 3
.Open "select * from sys", conn, 3, 3
End With
MsgBox "修改成功!", vbInformation
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End If
End If
End If
End Sub
Private Sub Command2_Click()
conn.Close
Set conn = Nothing
Unload Me
End Sub
Private Sub Form_Load()
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source='" + App.Path + "\data.mdb" + "'"
rs.Open "select * from sys", conn, adOpenKeyset, adLockPessimistic
For i = 0 To rs.RecordCount - 1
With Combo1
.AddItem rs.Fields("姓名")
rs.MoveNext
End With
Next
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
其中是:Private Sub Combo1_Click()
With rs
.Close
*****.Open "select * from sys where id='" + Combo1.Text + "'", conn, 3, 3*****
End With
Text1.Text = rs.Fields("姓名")
End Sub
出现-2147217913(80040e07)标准表达式中数据类型不匹配
6 个解决方案
你数据库中字段设定的数据类型与TEXT接收的类型不一致时会出现这种情况。
如果ID为数值型
*****.Open "select * from sys where id=" & val(Combo1.Text), conn, 3,
如果ID不是数值型
*****.Open "select * from sys where id='" + Combo1.Text + "'", conn, 3, 3*****
-2147217904(80040e10)至少一个参数没补指定值
*****.Open "select * from sys where id='" &Combo1.Text &"'", conn, 3, 3*****
把 “+” 改“&”试试。