2015-10-14 1 views
1

Хотя я запросил таблицы 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 
+0

Откройте Book1.xlsx, чтобы увидеть новый рабочий лист, созданный вашим кодом. – HansUp

+0

Ха-ха! Ух ты! Я бы не догадался, спасибо! Вдоль этих строк ... знаете ли вы, как создать временную таблицу в этом соединении, поскольку синтаксис '#', который я обычно использую в SQL, дает синтаксическую ошибку, равно как и 'CREATE TEMPORARY [tbl1]', предложенный в страница MSDN https://msdn.microsoft.com/en-us/library/bb177893(v=office.12).aspx – apdm

+0

На самом деле кажется, что Access не поддерживает временные таблицы вообще, вопреки тому, что на странице MSDN заставил меня поверить – apdm

ответ

1

При открытии подключения ADO в рабочую книгу Excel, а затем выполнить CREATE TABLE заявление, то «таблица» Вы создаете новый рабочий лист.

Открыть Book1.xlsx, чтобы увидеть рабочий лист, созданный вашим кодом.

Когда я запустил код с Access 2010 и моей книгой, новый лист был назван _tbl. Я не понимаю, почему имя было префиксным символом подчеркивания. Если это проблема, вы можете переименовать лист позже.

Смежные вопросы