Gewusst wie: Abrufen eine Tabelle von Access in Excel mit DAO

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 146406 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Zusammenfassung

In Version von Microsoft Excel aufgeführten können Datenzugriffsobjekte (DAO) in Visual Basic für Applikationen Sie eine Tabelle aus Microsoft Access abrufen.

Zur ein Beispiel für die Verwendung DAO zum Abrufen einer Tabelle aus Microsoft Access verwendet das Makro in diesem Artikel beschriebenen die Beispieldatenbank, die geliefert, mit Microsoft Office Professional für Windows 95, Version 7.0 und Microsoft Office 97 Professional für Windows. Wenn Sie die Standardoptionen, ausgewählt bei der Installation von Microsoft Office Professional für Windows 95, Version 7.0, die Datenbank befindet sich in:
   \MSOffice\Access\Samples\Northwind.mdb
				
Wenn Sie die Standardoptionen, gewählt bei der Installation von Microsoft Office 97 Professional For Windows, die Datenbank befindet sich in:
   \Program Files\Microsoft Office\Office\Samples\Northwind.mdb
				
Wenn die Northwind-Datenbank in einem anderen Ordner auf Ihrem Computer befindet, müssen Sie den Code unten bereitgestellt werden, bevor Sie Sie ausführen bearbeiten.

Um DAO in Ihrem Makro zu verwenden, müssen Sie die Microsoft DAO-Objektbibliothek verweisen, oder möglicherweise des Fehlers "benutzerdefinierter Typ nicht definiert". Dieses Bibliothek in Microsoft Excel version 7.0 verweisen möchten, aktivieren Sie ein Modulblatt, klicken Sie im Menü Extras auf Verweise und aktivieren Sie die Option "Microsoft DAO 3.0 Object Library". Dieses Bibliothek in Microsoft Excel version 97 verweisen möchten, klicken Sie Verweise im Menü Extras in Visual Basic-Editor und Überprüfen von "Microsoft DAO 3.5 Object Library".

Weitere Informationen

Microsoft bietet Programmierbeispiele für Abbildung nur ohne Gewährleistung oder konkludent. Dies umfasst, ist jedoch nicht beschränkt auf konkludenten Garantien der Handelsüblichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der Programmiersprache, die Programmierungsbeispiele ist und mit den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden vertraut sind. Microsoft Support-Technikern helfen Erläuterung die Funktionalität einer bestimmten Prozedur, Sie werden ändert jedoch nicht diese Beispiele bieten Funktionen hinzugefügt oder Verfahren, um Ihren Anforderungen entsprechend zu erstellen. Gehen Sie folgendermaßen vor um eine Tabelle aus Microsoft Access abzurufen:

  1. Richten Sie ein Datenbankobjekt.
  2. Richten Sie ein Recordset-Objekt.
  3. Rufen Sie die Header (falls gewünscht).
  4. Die Daten aus der Tabelle abrufen.
Nachdem die Daten abgerufen wurden, sollten Sie alle Objekte schließen, die Sie durch Ausgeben von Befehlen .Close geöffnet.

Um eine Tabelle aus Microsoft Access programmgesteuert abzurufen verwenden Sie das folgende Visual Basic für Applikationen-Code:
Sub GetTable()
'This sub will retrieve all the data in the "Customers" table in
'Northwind

   'Declare variables
   Dim Db As Database
   Dim Rs As Recordset
   Dim Ws As Object
   Dim i As Integer
   Dim Path as String

   'This line will define the Object "Ws" as Sheets("Sheet1")
   'The purpose of this is to save typing Sheets("Sheet1")
   'over and over again
   Set Ws = Sheets("Sheet1")

   'Set the Path to the database. This line is useful because
   'if your database is in another location, you just need to change
   'it here and the Path Variable will be used throughout the code
   Path = "c:\msoffice\access\samples\northwind.mdb"

   'This set of code will activate Sheet1 and clear any existing data
   'After clearing the data it will select cell A1
   Ws.Activate
   Range("A1").Activate
   Selection.CurrentRegion.Select
   Selection.ClearContents
   Range("A1").Select

   'Set the Database, and RecordSet  This Table exists in the database
   Set Db = Workspaces(0).OpenDatabase(Path, ReadOnly:=True)

   'This will set the RecordSet to all records in the Customers table
   Set Rs = Db.OpenRecordset("Customers")

   'You could instead set the RecordSet to, for example, the records
   'where the Country Code is "UK", without quotes. To do this, replace
   'the line above: Set Rs = Db.OpenRecordset("Customers") with the
   'following:
   '
   'Set Rs = _
   'Db.OpenRecordset("SELECT * FROM Customers WHERE Country = 'UK';")


   'This loop will collect the field names and place them in the first
   'row starting at "A1"
   For i = 0 To Rs.Fields.Count - 1
      Ws.Cells(1, i + 1).Value = Rs.Fields(i).Name
   Next I

   'The next line simply formats the headers to bold font
   Ws.Range(Ws.Cells(1, 1), Ws.Cells(1, Rs.Fields.Count)).Font.Bold=True

   'The next line will get the data from the recordset and copy it
   'into the Worksheet (Sheet1).
   Ws.Range("A2").CopyFromRecordset Rs

   'This next code set will just select the data region and
   'auto-fit the columns
   Sheets("Sheet1").Select
   Range("A1").Select
   Selection.CurrentRegion.Select
   Selection.Columns.AutoFit
   Range("A1").Select

   Rs.Close
   Db.Close
End Sub
				

Informationsquellen

Weitere Informationen über Datenzugriff klicken Sie auf die Registerkarte Index in Microsoft Excel-Hilfe, geben Sie den folgenden text
Datenzugriff in DAO
und doppelklicken Sie auf den markierten Text, zu dem Thema "Zugreifen auf externe Datenbanken mit DAO" zu wechseln.

Eigenschaften

Artikel-ID: 146406 - Geändert am: Mittwoch, 11. Oktober 2006 - Version: 2.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 95 Standard Edition
Keywords: 
kbmt kbdtacode kbhowto kbinterop kbprogramming KB146406 KbMtde
Maschinell ü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: 146406
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.
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.

Ihr Feedback an uns

 

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