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

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:295646
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Аннотация
Поскольку 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 StringstrSQL = "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 — последний просмотр: 12/06/2015 01:59:24 — редакция: 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

  • kbnosurvey kbarchive kbdatabase kbhowto kbjet kbmdacnosweep kbmt KB295646 KbMtru
Отзывы и предложения