我想用UserInitials列中的用户首字母搜索访问数据库,但出现错误没有为一个或多个必需参数提供值
但是,如果我使用ID列中的ID搜索数据库,则可以正常工作。
可以这样做吗?我检查了拼写是否正常,并且数据库本身中没有空字段。我还更改了主键,并将其ID从ID设置为UserInitials,但这似乎没有任何区别。非常感谢。
Public Function searchDatabase()
If UserForm1.TextBox4.Value = "" Then
MsgBox "field empty"
Else
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
con.connectionstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:\Users\MyPC\Desktop\DatabaseOne.accdb;"
'Open Db connection
con.Open
Set rs.ActiveConnection = con
rs.Open "Select * from TableUser where UserInitials= " & UserForm1.TextBox4.Text & ""
StartRow = 3
Do Until rs.EOF
'User Initials
UserForm1.TextBox1.Text = rs.Fields(1).Value
'User Full Name
UserForm1.TextBox2.Text = rs.Fields(2).Value
'User Email
UserForm1.TextBox3.Text = rs.Fields(3).Value
rs.MoveNext
StartRow = StartRow + 1
Loop
Set rs = Nothing
con.Close
Set con = Nothing
End If
End Function
您需要将UserForm1.TextBox4.Text
放在引号中,否则SQL语句将无法正确解释
尝试
rs.open "Select * from TableUser where UserInitials= '" & UserForm1.TextBox4.Text & "'"