我在Access中有一个数据库,我想从Excel VBA表单中输入一些数据到数据库中,并且还想将一些数据检索回表单。
程序的Sceenshot是
这是添加按钮代码:
Private Sub CommandButton1_Click()
Dim con As New ADODB.Connection
Dim connectionstring As String
Dim sql As String
connectionstring = "PROVIDER=Microsoft.ACE.OLEDB.12.0;"
connectionstring = connectionstring & "DATA Source=C:\Simple.accdb;"
con.Open connectionstring
sql = "insert into T1(ID,FName,Email)values('" & TextBox1.Text & "', '" & TextBox2.Text & "','" & TextBox3.Text & "')"
con.Execute sql
MsgBox "Values Entered", vbInformation
con.Close
End Sub
这是搜索按钮代码
Private Sub CommandButton3_Click()
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
con.connectionstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Simple.accdb;"
'Open Db connection
con.Open
Set rs.ActiveConnection = con
rs.Open "Select * from T1 where ID= '" & UserForm1.TextBox1.Text & "'"
StartRow = 3
Do Until rs.EOF
'FName
UserForm1.TextBox2.Text = rs.Fields(1).Value
'Email
UserForm1.TextBox3.Text = rs.Fields(2).Value
rs.MoveNext
StartRow = StartRow + 1
Loop
Set rs = Nothing
con.Close
Set con = Nothing
End Sub
我的问题是虽然我可以使用ADD按钮通过VBA表单添加,但我的搜索按钮代码无效。它表示标准表达式中的数据类型不匹配。
我想做的就是根据ID进行搜索。
请帮助。
答案 0 :(得分:2)
我认为表中的ID字段是数字的 - 您需要从搜索按钮代码中的sql语句中的条件中删除单引号。