在使用VBA将数据从Excel Userform插入另一个Excel数据库时创建查询

在使用VBA将数据从Excel Userform插入另一个Excel数据库时创建查询,excel,vba,Excel,Vba,我使用excel工作簿作为数据库(ExcelDB),并通过ADODB连接到它。在另一个excel工作簿中,我有一个用于输入数据的userform。我试图做的是获取一个文本框的值,并将其插入ExcelDB中一个工作表(工作表1)的表中的列FirstHeader中。我还希望,当我单击commandbutton时,该文本框中的任何其他条目都将添加到该表的最后一行。我已经尝试了大部分的插入查询的方法,但我不能使它工作。这是我的密码 Private Sub btn_Save_Click() On Err

我使用excel工作簿作为数据库(ExcelDB),并通过ADODB连接到它。在另一个excel工作簿中,我有一个用于输入数据的userform。我试图做的是获取一个文本框的值,并将其插入ExcelDB中一个工作表(工作表1)的表中的列FirstHeader中。我还希望,当我单击commandbutton时,该文本框中的任何其他条目都将添加到该表的最后一行。我已经尝试了大部分的插入查询的方法,但我不能使它工作。这是我的密码

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

编写查询的正确方法是什么,以便将文本框中输入的内容插入到我通过excel中的adodb连接的工作表的最后一行?谢谢你的帮助

您需要执行以下操作查询:

qry = "Insert into [WorkSheet1$]([FirstHeader]) Values (TextBox.Value)" 
cnn.Execute qry

有关详细信息:

感谢您的建议。它没有说明任何错误。不幸的是,它没有在表中插入任何内容。