Перенос данных из источника данных ADO в Excel с помощью ADO

Переводы статьи Переводы статьи
Код статьи: 295646 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Поскольку Microsoft Excel является таким мощным средством анализа, VBA и Visual Basic разработчики приложений часто требуется перенести данные в электронную таблицу Excel для анализа. Статья описывает подход объектов данных ActiveX (ADO) для этой задачи программирования с использованием Microsoft Jet синтаксис для определенных команд SQL.

В данной статье описывается программирования решений и не описывают возможности импорта данных с навигацией на основе меню Excel (через Открыть параметр на Файл меню) или использовать Microsoft Query (из Получить внешние данные параметр на Данные меню).

Для получения дополнительных сведений о дополнительных программирования решений, вместо команд SQL с помощью автоматизации Excel щелкните следующий номер статьи базы знаний Майкрософт:
246335 Способы передачи данных из набора записей ADO в Excel с помощью автоматизации

Дополнительная информация

В следующих примерах, cnSrc Предоставляет открытое подключение ADO для учебной базы данных Jet, с помощью поставщика данных Jet 4.0 OLE DB.

Как скопировать

Инструкция SELECT INTO можно использовать для копирования данных из любого источника данных Jet для чтения в любых адресов назначения данных, создание новой таблицы (или в случае использования Excel, новый лист) на ходу. Не используйте синтаксис доллара, например [Лист1$], когда вы ссылаетесь на имя листа как пункт назначения. Конечную книгу может существовать или не существует; Однако целевой таблице должны не еще существует.

Существует три способа писать команды copy копирует всю таблицу Customers в базе данных Microsoft Access «Борей» в новый лист в книге Excel. Каждый синтаксис требует отдельной инструкции SQL и создает заголовки столбцов в первой строке листа назначения.
  • В следующем примере используется синтаксис SELECT INTO.
    Dim strSQL As String
    strSQL = "SELECT * INTO [Excel 8.0;Database=" & App.Path & _ 
        "\book1.xls].[Sheet1] FROM Customers"
    cnSrc.Execute strSQL
    					
  • В следующем примере используется SELECT INTO... В синтаксисе:
    strSQL = "SELECT * INTO [Sheet1] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] FROM Customers"
    						
    где сведения о базе данных назначения заключенному предшествует пустая пара кавычек для аргумента типа (раздел «Excel 8.0»), который включается в квадратные скобки, когда используется следующий синтаксис.
  • В следующем примере используется альтернативный синтаксис для предложения IN:
    strSQL = "SELECT * INTO [Sheet1] IN '" & App.Path & _
        "\book1.xls' 'Excel 8.0;' FROM Customers"
    						
    где аргумент типа теперь указан отдельно после путь к конечному файлу.

Как добавить

Вы можете использовать INSERT INTO... В инструкцию, чтобы добавить данные из любого источника данных Jet, можно считать в любое место назначения данных. Назначение книги и листа должен существовать. Теперь, когда вы ссылаетесь на существующий лист, необходимо использовать синтаксис стандартных доллара, например, [Лист1$], когда вы ссылаетесь на имя листа как пункт назначения. Кроме того заголовки столбцов должны существовать; другими словами этот оператор может использоваться только для присоединения к существующей таблице.

Существует два способа записи команды append, который копирует всю таблицу Customers базы данных Northwind в существующий лист Excel, который уже имеет соответствующие заголовки столбцов.
  • В следующем примере используется INSERT INTO... В синтаксисе:
    strSQL = "INSERT INTO [Sheet1$] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] SELECT * FROM Customers"
    						
    где сведения о базе данных назначения заключенному снова предшествует пустая пара кавычек аргумента типа, который теперь включен в квадратные скобки.
  • В следующем примере используется альтернативный синтаксис для предложения IN:
    strSQL = "INSERT INTO [Sheet1$] IN '" & App.Path & _
        "\book1.xls' 'Excel 8.0;' SELECT * FROM Customers"
    					

Ссылки

Для получения дополнительных сведений об этом синтаксис Jet содержатся в файле справки Jet SQL (JETSQL40.chm), особенно разделы в инструкции SELECT INTO, инструкция INSERT INTO и предложение.

Свойства

Код статьи: 295646 - Последний отзыв: 5 июня 2011 г. - Revision: 5.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Excel 97 Standard Edition
Ключевые слова: 
kbdatabase kbhowto kbjet kbmdacnosweep kbmt KB295646 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:295646

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com