Я использую книгу Excel в качестве базы данных (ExcelDB) и подключаюсь к ней через ADODB. В другой книге Excel у меня есть пользовательская форма, которую я использую для ввода данных. Я пытаюсь получить значение текстового поля и вставить его в столбец FirstHeader в таблице на одном из рабочих листов (WorkSheet1) в ExcelDB. Я также надеюсь, что любая другая запись в этом текстовом поле будет добавлена в последнюю строку этой таблицы, когда я нажму кнопку команды. Я пробовал большинство способов сделать запрос вставки, но я не могу заставить его работать. Вот мой код.
Private Sub btn_Save_Click()
On Error Resume Next
Public cnn As New ADODB.Connection
Public rst As New ADODB.Recordset
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Reports.xlsm;Extended Properties=""Excel 12.0 Macro;HDR=YES;FMT=Delimited;IMEX=1;"";"
Dim qry As String
qry = "Select * from [WorkSheet1$]"
rst.Open qry, cnn, adOpenDynamic, adLockOptimistic '?:adOpenKeyset, adLockPessimistic - I dont know if have this code wrong...
If rst.RecordCount = 0 Then
MsgBox "no record"
Else
qry = "Insert into [WorkSheet1$]([FirstHeader]) Values (TextBox.Value)" '... or I have this query wrong
End If
Application.ScreenUpdating = True
rst.Close
cnn.Close
Set rst = Nothing
Set cnt = Nothing
End Sub
Как правильно написать запрос, чтобы ввод, введенный в текстовое поле, был вставлен в последнюю строку таблицы на листе, который я подключил через adodb в excel? Спасибо за помощь.