Хотя я запросил таблицы Excel с использованием ADO-соединения до этого, я думал только об ADO-соединении как о абстрактном - то есть Access фактически не создавал таблицу с моим листом, и все «исчезло», как только я закрыл соединение ,Запрос файла excel через соединение ADO Access, где хранятся таблицы?
Мое мышление изменилось, когда я попытался явно создать уникальную таблицу в первый раз, и даже после закрытия соединения и выхода из подпрограммы таблица все еще существовала где-то. Где в моем каталоге хранится эта таблица и, кроме того, что вы отбрасываете таблицу через другое соединение VBA, есть ли другой способ ее просмотреть или удалить?
Вы можете видеть, что я имею в виду, если вы дважды запустите этот юг. В первый раз он работает нормально, а во второй раз появляется сообщение о том, что таблица уже существует.
Sub stquestion()
Dim acctcon As New ADODB.Connection
Dim acctrec As New ADODB.Recordset
With acctcon
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\name\Documents\Book1.xlsx;" & _
"Extended Properties=" & Chr(34) & "Excel 12.0 Xml;HDR=YES" & Chr(34) & ";"
querystr = "CREATE TABLE [tbl1] (cost Numeric(10));"
.Open
.Execute querystr
.Close
End With
End Sub
Откройте Book1.xlsx, чтобы увидеть новый рабочий лист, созданный вашим кодом. – HansUp
Ха-ха! Ух ты! Я бы не догадался, спасибо! Вдоль этих строк ... знаете ли вы, как создать временную таблицу в этом соединении, поскольку синтаксис '#', который я обычно использую в SQL, дает синтаксическую ошибку, равно как и 'CREATE TEMPORARY [tbl1]', предложенный в страница MSDN https://msdn.microsoft.com/en-us/library/bb177893(v=office.12).aspx – apdm
На самом деле кажется, что Access не поддерживает временные таблицы вообще, вопреки тому, что на странице MSDN заставил меня поверить – apdm