在使用VBA将数据从Excel Userform插入另一个Excel数据库时创建查询
我使用excel工作簿作为数据库(ExcelDB),并通过ADODB连接到它。在另一个excel工作簿中,我有一个用于输入数据的userform。我试图做的是获取一个文本框的值,并将其插入ExcelDB中一个工作表(工作表1)的表中的列FirstHeader中。我还希望,当我单击commandbutton时,该文本框中的任何其他条目都将添加到该表的最后一行。我已经尝试了大部分的插入查询的方法,但我不能使它工作。这是我的密码在使用VBA将数据从Excel Userform插入另一个Excel数据库时创建查询,excel,vba,Excel,Vba,我使用excel工作簿作为数据库(ExcelDB),并通过ADODB连接到它。在另一个excel工作簿中,我有一个用于输入数据的userform。我试图做的是获取一个文本框的值,并将其插入ExcelDB中一个工作表(工作表1)的表中的列FirstHeader中。我还希望,当我单击commandbutton时,该文本框中的任何其他条目都将添加到该表的最后一行。我已经尝试了大部分的插入查询的方法,但我不能使它工作。这是我的密码 Private Sub btn_Save_Click() On Err
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
有关详细信息:感谢您的建议。它没有说明任何错误。不幸的是,它没有在表中插入任何内容。