使用 ADODB 在 Excel 工作簿中插入特定表

adoyon23

我正在尝试使用 ADODB 在 Excel 工作表中执行 SQL INSERT INTO 命令。当工作表中只有一列时,我能够使用以下代码插入到工作表中:

Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adCmdText = &H1

Dim Connection As ADODB.Connection
Set Connection = New ADODB.Connection

Connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data 
Source=PathToFile.xls;Extended 
Properties=Excel 8.0;"

Connection.Open

Dim SQL As String

SQL = "INSERT INTO [Sheet1$] VALUES('Test')"
Call Connection.Execute(SQL, , CommandTypeEnum.adCmdText Or ExecuteOptionEnum.adExecuteNoRecords)

但我想在同一个工作表中有三个单独的表,并指定要插入到哪个表中。我怎样才能做到这一点?我尝试创建表、命名它们并使用此 SQL 语句指定一个表,但我一直收到错误消息:Microsoft Jet 数据库引擎找不到对象“TestTable1”。确保该对象存在并且您正确拼写了它的名称和路径名。

SQL = "INSERT INTO TestTable1(ID) VALUES('test')"
蒂姆·威廉姆斯

你可以这样做:

Sub TestInsert()

    InsertRecords Sheet4.Range("B3").CurrentRegion, _
               "insert into @ values('AAA','BBB','CCC')"

    InsertRecords Sheet4.Range("F3").CurrentRegion, _
               "insert into @ values('ZZZ')"

    InsertRecords Sheet4.Range("H3").CurrentRegion, _
               "insert into @ values('Whirled',99999)"

End Sub



Sub InsertRecords(rng As Range, sSQL As String)

    Const S_TEMP_TABLENAME As String = "SQLtempTable"
    Dim oConn As New ADODB.Connection
    Dim sPath

       'name the selected range
       On Error Resume Next
       ThisWorkbook.Names.Item(S_TEMP_TABLENAME).Delete
       If Err.Number <> 0 Then Err.Clear

       On Error GoTo haveError
       ThisWorkbook.Names.Add Name:=S_TEMP_TABLENAME, RefersToLocal:=rng

       sPath = ThisWorkbook.Path & "\" & ThisWorkbook.Name

       oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                  "Data Source=" & sPath & _
                  ";Extended Properties=""Excel 8.0;HDR=Yes"""

       oConn.Execute Replace(sSQL, "@", S_TEMP_TABLENAME)

      Exit Sub

haveError:
      MsgBox Err.Description

End Sub

前:

在此处输入图片说明

后:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用ADODB从封闭的工作簿导入

来自分类Dev

如何使用Excel VBA宏(使用ADODB移动数据)选择动态工作表名称?

来自分类Dev

R使用shell.exec在excel工作簿中打开特定的工作表

来自分类Dev

如何使用 Excel VBA 仅更新特定工作表而不是整个工作簿中的链接?

来自分类Dev

Excel ADODB查询中的VBA函数

来自分类Dev

C++ 使用 adodb 在 64 位 Windows 7 中读取 excel 文件?

来自分类Dev

刷新在Excel Vba中创建的数据透视表(ADODB连接)

来自分类Dev

使用vba删除其他excel工作簿中excel工作表上的空白行

来自分类Dev

使用Excel VBA将工作表复制到新工作簿中并对新工作簿进行更改

来自分类Dev

如何使用 Excel VBA 从使用文件浏览器选择的工作簿中复制工作表?

来自分类Dev

如何使用R中的Openxlsx包修改Excel工作簿中的现有工作表?

来自分类Dev

如何使用openpyxl在工作簿中对Excel工作表/标签进行排序

来自分类Dev

使用pandas和openpyxl在工作簿的2个Excel工作表中匹配值

来自分类Dev

如何使用 Python xlwings 在 excel 工作簿中检测受保护的工作表?

来自分类Dev

尝试使用 R 在 Excel 工作簿中创建多个工作表,但在几次后收到错误

来自分类Dev

如何使用phpexcel在Excel工作表中插入公式

来自分类Dev

如何使用phpexcel在Excel工作表中插入公式

来自分类Dev

使用 Django 工作簿和工作表创建 Excel 文件

来自分类Dev

使用VBA宏在工作簿中的Excel表上执行SQL查询

来自分类Dev

使用AdoDB将数据插入数据库

来自分类Dev

无法使用熊猫将完整的数据透视表写入现有excel工作簿中的新工作表

来自分类Dev

使用ADODB Excel 2010 VBA读取和使用长度超过255的字符串

来自分类Dev

使用熊猫计算Excel工作表中特定行的总和

来自分类Dev

使用python循环在一个数据帧的一个excel工作簿中创建多个excel表

来自分类Dev

使用宏将3个以上的Excel工作表合并到一个工作簿中

来自分类Dev

如何使用apache POI和PrimeFaces向现有的Excel工作簿中添加新工作表

来自分类Dev

使用 Outlook 发送电子邮件工作表,从打开的工作簿中获取值,从 Excel

来自分类Dev

将工作簿中具有相同列范围的工作表拆分为使用 VBA 代码分隔 Excel 文件

来自分类Dev

使用Excel VBA ADODB从CSV批量导入到SQL Server

Related 相关文章

  1. 1

    使用ADODB从封闭的工作簿导入

  2. 2

    如何使用Excel VBA宏(使用ADODB移动数据)选择动态工作表名称?

  3. 3

    R使用shell.exec在excel工作簿中打开特定的工作表

  4. 4

    如何使用 Excel VBA 仅更新特定工作表而不是整个工作簿中的链接?

  5. 5

    Excel ADODB查询中的VBA函数

  6. 6

    C++ 使用 adodb 在 64 位 Windows 7 中读取 excel 文件?

  7. 7

    刷新在Excel Vba中创建的数据透视表(ADODB连接)

  8. 8

    使用vba删除其他excel工作簿中excel工作表上的空白行

  9. 9

    使用Excel VBA将工作表复制到新工作簿中并对新工作簿进行更改

  10. 10

    如何使用 Excel VBA 从使用文件浏览器选择的工作簿中复制工作表?

  11. 11

    如何使用R中的Openxlsx包修改Excel工作簿中的现有工作表?

  12. 12

    如何使用openpyxl在工作簿中对Excel工作表/标签进行排序

  13. 13

    使用pandas和openpyxl在工作簿的2个Excel工作表中匹配值

  14. 14

    如何使用 Python xlwings 在 excel 工作簿中检测受保护的工作表?

  15. 15

    尝试使用 R 在 Excel 工作簿中创建多个工作表,但在几次后收到错误

  16. 16

    如何使用phpexcel在Excel工作表中插入公式

  17. 17

    如何使用phpexcel在Excel工作表中插入公式

  18. 18

    使用 Django 工作簿和工作表创建 Excel 文件

  19. 19

    使用VBA宏在工作簿中的Excel表上执行SQL查询

  20. 20

    使用AdoDB将数据插入数据库

  21. 21

    无法使用熊猫将完整的数据透视表写入现有excel工作簿中的新工作表

  22. 22

    使用ADODB Excel 2010 VBA读取和使用长度超过255的字符串

  23. 23

    使用熊猫计算Excel工作表中特定行的总和

  24. 24

    使用python循环在一个数据帧的一个excel工作簿中创建多个excel表

  25. 25

    使用宏将3个以上的Excel工作表合并到一个工作簿中

  26. 26

    如何使用apache POI和PrimeFaces向现有的Excel工作簿中添加新工作表

  27. 27

    使用 Outlook 发送电子邮件工作表,从打开的工作簿中获取值,从 Excel

  28. 28

    将工作簿中具有相同列范围的工作表拆分为使用 VBA 代码分隔 Excel 文件

  29. 29

    使用Excel VBA ADODB从CSV批量导入到SQL Server

热门标签

归档