DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 306125 - Geändert am: Donnerstag, 19. April 2012 - Version: 1.0

 
Dieser Artikel wurde zuvor veröffentlicht unter D306125

Auf dieser Seite

Zusammenfassung

Diese schrittweise Anleitung beschreibt die Daten aus der Pubs-Datenbank, eine Beispieldatenbank in Microsoft Excel zu importieren, die Microsoft SQL Server enthalten ist.

ActiveX Data Objects (ADO) ermöglichen den Zugriff auf jede Art von Datenquelle. Es ist ein grundlegendes Objektmodell mit nur wenigen Objekten. Die wichtigsten Objekte im ADO-Objektmodell sind:
   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.
				
Obwohl es viele Möglichkeiten gibt, ein Recordset mittels ADO zurückzugeben, konzentriert sich dieser Artikel auf die Verbindung und Recordset-Objekte.

Anforderungen

Sie müssen einen lokalen Server Microsoft SQL Server ausgeführt und die Pubs-Datenbank enthält.

Microsoft empfiehlt, dass Sie Folgendes wissen:
  • Erstellen von Visual Basic for Applications-Prozeduren in Office-Programmen.
  • Arbeiten mit Objektvariablen.
  • Arbeiten mit Excel-Objekten.
  • Konzepte der relationalen Datenbank-Management-Systeme (RDBMS).
  • Structured Query Language (SQL) SELECT-Anweisungen.

Verweisen auf die ADO-Objektbibliothek

  1. Starten Sie Excel. Öffnen Sie eine neue Arbeitsmappe, und speichern Sie es SQLExtract.xls.
  2. Starten Sie den Visual Basic-Editor, und wählen Sie das VBA-Projekt.
  3. Auf der Werkzeuge im Menü klicken Referenzen.
  4. Klicken Sie auf die neueste Version von der Microsoft ActiveX Data Objects-Bibliothek das Kontrollkästchen.

Erstellen der Verbindung

  1. Fügen Sie ein neues Modul in das Projekt.
  2. Erstellen Sie eine neue Sub-Prozedur DataExtract aufgerufen.
  3. Geben Sie oder fügen Sie den folgenden Code:
    ' 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
    					

Extraktion der Daten

Geben Sie oder fügen Sie den folgenden Code, um die Datensätze zu extrahieren:
' 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
				

Überprüfen, ob der Code funktioniert

  1. Führen Sie den Code.
  2. Wechseln Sie zu Excel, und öffnen Sie Blatt1 der Arbeitsmappe, die Daten anzuzeigen.

Problembehandlung

Wenn Ihr Code mehr zu reagieren scheint und Sie einen Laufzeitfehler erhalten, kann der Datenbankserver nicht zur Verfügung. ConnectionTimeout-Eigenschaft können Sie um die Zeitspanne zu bestimmen, die es braucht, um einen Laufzeitfehler zurück. Legen Sie diese Eigenschaft auf einen Wert größer als 0 (null). Wenn Sie den Wert 0 (null) festlegen, wird die Verbindung nie Timeout. Der Standardwert beträgt 15 Sekunden.

Informationsquellen

Weitere Beispielcodes finden Sie durch Suchen der folgenden Microsoft-Website:
http://msdn.Microsoft.com/ (http://msdn.microsoft.com/)

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
Keywords: 
kbhowtomaster kbmt KB306125 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 306125  (http://support.microsoft.com/kb/306125/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store
Folgen Sie uns: