У меня есть база данных в Access, и я хочу ввести некоторые данные из формы Excel VBA в базу данных, а также вернуть данные обратно в форму.Получение данных в форму 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
Вот кнопки поиск Code
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
Моя проблема, хотя я я могу добавить через форму VBA с помощью кнопки ADD, мой код кнопки поиска не работает. В нем указано несоответствие типов данных в выражении критериев.
Все, что я хотел сделать, это выполнить поиск на основе идентификатора.
Пожалуйста, помогите.
Обратите внимание, что если я изменил запрос sql на ** rs.Open "Select * from T1" ** в опции поиска, он отображает последнюю запись в таблице – Sensay
См. [Этот ответ] (http: // stackoverflow.com/a/28249236/2127508) к связанному вопросу – barrowc
Спасибо @barrowc это помогло :) – Sensay