2015-06-28 2 views
0

У меня есть база данных в 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, мой код кнопки поиска не работает. В нем указано несоответствие типов данных в выражении критериев.

Все, что я хотел сделать, это выполнить поиск на основе идентификатора.

Пожалуйста, помогите.

+0

Обратите внимание, что если я изменил запрос sql на ** rs.Open "Select * from T1" ** в опции поиска, он отображает последнюю запись в таблице – Sensay

+0

См. [Этот ответ] (http: // stackoverflow.com/a/28249236/2127508) к связанному вопросу – barrowc

+0

Спасибо @barrowc это помогло :) – Sensay

ответ

2

Я думаю, что поле ID в вашей таблице является числовым - вам нужно удалить одинарные кавычки из критериев в вашем SQL-выражении в код кнопки поиска.

+0

Да, это и это уже сработало. Спасибо, хотя за вашу помощь – Sensay

Смежные вопросы