DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 295646 - Geändert am: Montag, 29. Oktober 2012 - Version: 4.0

 

Auf dieser Seite

Zusammenfassung

Da Microsoft Excel so ein leistungsstarkes Tool zur Datenanalyse ist, Visual Basic und VBA-Anwendungsentwickler oft Daten in einem Excel-Arbeitsblatt zu Analysezwecken bringen möchten. Dieser Artikel beschreibt den ActiveX Data Objects (ADO)-Ansatz für diese Programmieraufgabe, mit Microsoft Jet-spezifische Syntax für bestimmte Befehle SQL.

Dieser Artikel beschreibt Programmlösungen und Importfunktionen für Excel Daten menügesteuerte (über die Option Öffnen im Menü Datei ) oder die Verwendung von Microsoft Query (von der Externe Daten -Option im Menü Daten ) wird nicht beschrieben.

Weitere Informationen über ergänzende programming Lösungen, die Excel-Automatisierung anstelle SQL Befehle nutzen, klicken Sie auf die nachstehende Artikelnummer klicken, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
246335  (http://support.microsoft.com/kb/246335/EN-US/ ) Übertragen von Daten aus ADO-Recordset auf Excel mit Automatisierung

Weitere Informationen

In den Beispielen, die folgen, stellt die CnSrc eine geöffnete ADO-Verbindung mit angek Jet-Datenbank mit dem Jet 4.0 OLE DB-Anbieter.

Gewusst wie: Kopieren

Die SELECT INTO-Anweisung können Sie um Daten aus einer beliebigen Datenquelle zu kopieren, die Jet dynamisch zu Datenzielen, Erstellen einer neuen Tabelle (oder im Fall von Excel ein neues Arbeitsblatt) lesen kann. Verwenden Sie nicht die Syntax die Dollar-Zeichen, z. B. [Sheet1$], wenn Sie auf einen Blattnamen als Ziel verweisen. Die Ziel-Arbeitsmappe kann vorhanden sein oder nicht vorhanden. Allerdings muss die Zieltabelle noch nicht vorhanden.

Es gibt drei Möglichkeiten, den Kopierbefehl zu schreiben, der die gesamte Tabelle Customers aus Microsoft Access-Beispieldatenbank in ein neues Blatt in einer Excel-Arbeitsmappe kopiert. Jede Syntax erfordert eine einzelne SQL-Anweisung und Spaltenüberschriften in der ersten Zeile der Zieltabelle erstellt.
  • Im folgenden Beispiel wird die SELECT INTO-Syntax:
    Dim strSQL As String
    strSQL = "SELECT * INTO [Excel 8.0;Database=" & App.Path & _ 
        "\book1.xls].[Sheet1] FROM Customers"
    cnSrc.Execute strSQL
    					
  • Im folgende Beispiel wird SELECT INTO... Syntax:
    strSQL = "SELECT * INTO [Sheet1] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] FROM Customers"
    						
    Wo geht die Datenbankinformationen in eckigen Klammern Ziel durch ein leeres Paar einfacher Anführungszeichen für das Typargument (der Teil "Excel 8.0"), die in Klammern eingeschlossen ist, wenn Sie diese Syntax verwenden.
  • Das folgende Beispiel verwendet die alternative Syntax für die IN-Klausel:
    strSQL = "SELECT * INTO [Sheet1] IN '" & App.Path & _
        "\book1.xls' 'Excel 8.0;' FROM Customers"
    						
    Das Typargument ist nach den Zielpfad der Datei, in dem nun separat aufgeführt.

Gewusst wie: Anfügen

Sie können die INSERT INTO... IN der Anweisung Anfügen von Daten aus einer beliebigen Datenquelle lesen, dass Jet in Datenzielen. Der Ziel-Arbeitsmappe und dem Arbeitsblatt müssen vorhanden sein. Nun, da Sie auf ein vorhandenes Arbeitsblatt verweisen, verwenden Sie die standard Dollarzeichen-Syntax, z. B. [Sheet1$], wenn Sie auf einen Blattnamen als Ziel verweisen. Darüber hinaus müssen die Spaltenüberschriften bereits vorhanden sein; Diese Anweisung kann also nur verwendet werden, an eine vorhandene Tabelle anfügen.

Es gibt zwei Möglichkeiten, den Append-Befehl schreiben, der die gesamte Tabelle Customers aus der Datenbank Northwind in ein vorhandenes Excel-Arbeitsblatt kopiert, wodurch die bereits auf die entsprechende Spaltenüberschrift markieren.
  • Im folgenden Beispiel wird die INSERT INTO... Syntax:
    strSQL = "INSERT INTO [Sheet1$] IN '' [Excel 8.0;Database=" & App.Path & _
        "\book1.xls] SELECT * FROM Customers"
    						
    wo die Datenbankinformationen in eckigen Klammern Ziel wieder vorangestellt ist ein leeres Paar Anführungszeichen für das Typargument, das jetzt in den eckigen Klammern eingeschlossen.
  • Das folgende Beispiel verwendet die alternative Syntax für die IN-Klausel:
    strSQL = "INSERT INTO [Sheet1$] IN '" & App.Path & _
        "\book1.xls' 'Excel 8.0;' SELECT * FROM Customers"
    					

Informationsquellen

Weitere Informationen über diese Jet-spezifische Syntax finden Sie in die Jet-SQL-Hilfedatei (JETSQL40.chm), insbesondere die Themen in der SELECT INTO-Anweisung INSERT INTO-Anweisung und die IN-Klausel.

Die Informationen in diesem Artikel beziehen sich auf:
  • 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 Excel 97 Standard Edition
Keywords: 
kbdatabase kbhowto kbjet kbmdacnosweep kbmt KB295646 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: 295646  (http://support.microsoft.com/kb/295646/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