我正在尝试使用带有 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] 删除。
我来说两句