Jak importować dane z Microsoft SQL Server do programu Microsoft Excel

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 306125 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Ten artykuł został opublikowany wcześniej pod numerem PL306125
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

Ten przewodnik krok po kroku opisano jak zaimportować dane do programu Microsoft Excel z bazy danych Pubs, przykładowa baza danych, który jest dołączony do Microsoft SQL Server.

Obiekty danych ActiveX (ADO) zapewniają dostęp do każdego typu źródła danych. Jest to model płaskiego obiektu z kilku obiektów. Główne obiekty w modelu ADO są:
   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.
				
Chociaż istnieje wiele sposobów, aby zwrócić zestaw rekordów przy użyciu ADO, ten artykuł skupia się na połączenie i obiekty Recordset.

Wymagania

Musi mieć lokalny serwer działa Microsoft SQL Server i zawierające bazy danych Pubs.

Firma Microsoft zaleca się, że mają wiedzę z następujących czynności:
  • Tworzenie języka Visual Basic dla aplikacji procedury w programach pakietu Office.
  • Praca z zmienne obiektowe.
  • Praca z obiektami programu Excel.
  • Relacyjnej koncepcji systemów zarządzania bazą danych (RDBMS).
  • Structured Query Language (SQL) instrukcji SELECT.

Odwołanie do biblioteki obiektów ADO

  1. Uruchom program Excel. Otwórz nowy skoroszyt, a następnie zapisać go jako SQLExtract.xls.
  2. Uruchom Edytor Visual Basic i wybierz projektu VBA.
  3. Na Narzędzia menu, kliknij przycisk Odwołania.
  4. Kliknij, aby zaznaczyć najnowszej wersji Biblioteki obiektów Microsoft ActiveX Data pole wyboru.

Tworzenie połączenia

  1. Włóż nowy moduł do projektu.
  2. Utwórz nową procedurę typu Sub o nazwie DataExtract.
  3. Wpisz lub wklej następujący kod:
    ' Create a connection object.
    Dim cnPubs As ADODB.Connection
    Set 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
    					

Wyodrębnianie danych

Wpisz lub wklej następujący kod, aby wyodrębnić rekordów:
' Create a recordset object.
Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset

With 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
	.Close
End With

cnPubs.Close
Set rsPubs = Nothing
Set cnPubs = Nothing
				

Weryfikowanie, że kod działa

  1. Uruchomić kod.
  2. Przełącz się do programu Excel i spojrzeć na arkuszu Arkusz1 w skoroszycie, aby wyświetlić dane.

Rozwiązywanie problemów

Jeśli Twój kod wydaje się zawiesić i otrzymasz błąd wykonania, serwer bazy danych może być wyłączony. Właściwość ConnectionTimeout można użyć, aby kontrolować czas potrzebny do zwraca błąd w czasie wykonywania. Ustawiona na wartość większą niż zero. Jeśli wartość jest ustawiona na zero, połączenie nigdy nie będzie limitu czasu. Wartością domyślną jest 15 sekund.

Materiały referencyjne

Dodatkowe próbki kodu można znaleźć, przeszukując następującą witrynę firmy Microsoft w sieci Web:
http://msdn.microsoft.com/

Właściwości

Numer ID artykułu: 306125 - Ostatnia weryfikacja: 30 września 2012 - Weryfikacja: 3.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
Słowa kluczowe: 
kbhowtomaster kbmt KB306125 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to: 306125

Przekaż opinię

 

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