【问题标题】:Create query in Inserting data from Excel Userform to another Excel database using VBA在使用 VBA 将数据从 Excel 用户窗体插入到另一个 Excel 数据库中创建查询
【发布时间】:2020-01-21 06:12:21
【问题描述】:

我使用 excel 工作簿作为数据库 (ExcelDB) 并通过 ADODB 连接到它。在另一个 Excel 工作簿中,我有一个用于数据输入的用户表单。我想要做的是获取文本框的值并将其插入到 ExcelDB 中一个工作表 (WorkSheet1) 的表中的 FirstHeader 列中。我进一步希望,当我单击命令按钮时,该文本框中的任何其他条目都将添加到该表的最后一行。我已经尝试了大多数插入查询的方式,但我无法让它工作。这是我的代码。

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 连接的工作表中表格的最后一行?谢谢您的帮助。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

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

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

    更多详情:click here

    【讨论】:

    • 感谢您的建议。它没有说明任何错误。不幸的是,它没有在表中插入任何内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 2016-11-30
    • 2023-02-09
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多