从Access数据库

时间:2015-06-28 21:10:42

标签: sql excel vba excel-vba ms-access

我在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进行搜索。

请帮助。

1 个答案:

答案 0 :(得分:2)

我认为表中的ID字段是数字的 - 您需要从搜索按钮代码中的sql语句中的条件中删除单引号。