尝试通过 VBA 和 OLEDB 在 excel 中创建表格

哦三

我正在尝试使用带有 ADODB 的 VBA 在 Excel 中创建一个表(选项卡)。你能告诉我我哪里出错了吗?

comm.Execute在该comm.CommandText = "create table [temptable]([AA] VARCHAR(40));"之后出现错误

Microsoft Access 数据库引擎找不到对象“temptable”。

在表名末尾添加 $ 或在开头添加 # 似乎没有帮助。

Sub sqlquery2()
  Dim rs As ADODB.Recordset
  Dim conn As String
  Dim conObj As ADODB.Connection
  Dim comm As ADODB.Command
  Dim fileName As String

  Set conObj = New ADODB.Connection
  Set comm = New ADODB.Command

  fileName = ThisWorkbook.FullName
  conn = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
       "Data Source=" & fileName & ";" & _
       "Extended Properties=Excel 12.0 XML"

  conObj.ConnectionString = conn
  conObj.Open

  comm.ActiveConnection = conObj
  comm.CommandType = adCmdText
  On Error Resume Next
  comm.CommandText = "DROP TABLE [temptable];"
  comm.Execute
  On Error GoTo 0
  comm.CommandText = "create table [temptable]([AA] VARCHAR(40));"
  comm.Execute
  comm.CommandText = "insert into [temptable] select [A] from [SQL_Test$];"
  comm.Execute

  conObj.Close
End Sub

非常感谢您提前!

吉夫科

尝试在封闭的工作簿上进行。

我在打开工作簿时遇到了这个问题。当我在封闭的工作簿上做它时它消失了。当 wbk 打开时,它也崩溃告诉我表(工作表)不存在。工作表确实存在。当我查询关闭的 wb 时,这个问题也消失了。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章