В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Импорт данных из Microsoft SQL Server в Microsoft Excel

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

Эта статья на английском языке:306125
Аннотация
В этом пошаговом руководстве описывается импорт данных в Microsoft Excel в базе данных Pubs, образец базы данных, который входит в состав Microsoft SQL Server.

ActiveX Data Objects (ADO) предоставляют доступ к любому типу источника данных. Это обычная объектная модель с несколькими объектами. Приведены основные объекты в объектной модели ADO.
   Object          Description   -----------------------------------------------------------------------   Connection      Refers to the connection to the data source.   Recordset       Refers to the data extracted.   Command         Refers to a stored procedure or SQL statements that                    need to be executed.				
Хотя существует множество способов возвращения набора записей с помощью ADO, в данной статье описываются соединения и объекты набора записей.

Требования

Необходимо иметь локальный сервер, содержащий базу данных Pubs и под управлением Microsoft SQL Server.

Корпорация Майкрософт рекомендует иметь знания в следующих:
  • Создание Visual Basic для приложений процедур в приложениях Microsoft Office.
  • Работа с переменными объектов.
  • Работа с объектами Excel.
  • Основные понятия реляционной системы управления базой данных (СУРБД).
  • Язык SQL инструкции SELECT (SQL).

Ссылка на библиотеку объектов ADO

  1. Запустите Excel. Откройте новую книгу, а затем сохраните его как SQLExtract.xls.
  2. Запустите редактор Visual Basic и выберите проект VBA.
  3. На Сервис меню, нажмите кнопку Ссылки.
  4. Установите последнюю версию Библиотека объектов Microsoft ActiveX данных флажок.

Создание подключения

  1. Вставьте новый модуль в проект.
  2. Создайте новую процедуру Sub, называется DataExtract.
  3. Введите или вставьте следующий код:
    ' Create a connection object.Dim cnPubs As ADODB.ConnectionSet cnPubs = New ADODB.Connection' Provide the connection string.Dim strConn As String'Use the SQL Server OLE DB Provider.strConn = "PROVIDER=SQLOLEDB;"'Connect to the Pubs database on the local server.strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"'Use an integrated login.strConn = strConn & " INTEGRATED SECURITY=sspi;"'Now open the connection.cnPubs.Open strConn					

Извлечение данных

Введите или вставьте следующий код для извлечения записей.
' Create a recordset object.Dim rsPubs As ADODB.RecordsetSet rsPubs = New ADODB.RecordsetWith rsPubs	' Assign the Connection object.	.ActiveConnection = cnPubs	' Extract the required records.	.Open "SELECT * FROM Authors"	' Copy the records into cell A1 on Sheet1.	Sheet1.Range("A1").CopyFromRecordset rsPubs		' Tidy up	.CloseEnd WithcnPubs.CloseSet rsPubs = NothingSet cnPubs = Nothing				

Проверка, что код работает

  1. Запустите код.
  2. Перейдите в Excel и просмотрите лист Sheet1 книги для просмотра данных.

Устранение неполадок

Если код зависает и появляется сообщение об ошибке во время выполнения, сервер базы данных может быть отключен. Можно использовать свойство ConnectionTimeout контролировать время, необходимое для возврата ошибки времени выполнения. Этому свойству присвоить значение больше нуля. Если установить значение 0, подключение никогда не будет времени ожидания. Значение по умолчанию — 15 секунд.
Ссылки
Дополнительные примеры кода можно найти путем поиска веб-узел Майкрософт:
ACC2002 xl2002 XL2003 XL2007

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 306125 — последний просмотр: 04/19/2012 03:20:00 — редакция: 1.0

Microsoft Office Excel 2007, Microsoft Excel 2002 Standard Edition

  • kbhowtomaster kbmt KB306125 KbMtru
Отзывы и предложения