【发布时间】: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 连接的工作表中表格的最后一行?谢谢您的帮助。
【问题讨论】: