Hoe u een tabel vanuit Access ophaalt in Excel met behulp van DAO

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 146406 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Samenvatting

In de versies van Microsoft Excel hierboven kunt u toegang tot gegevens Objecten (DAO) in Visual Basic for Applications een tabel opgehaald Microsoft Access.

Voorbeeld van het gebruik van DAO een tabel opgehaald De macro in dit artikel wordt beschreven in Microsoft Access gebruikt de Noordenwind de database die wordt geleverd met zowel Microsoft Office Professional voor Windows 95, versie 7.0 en Microsoft Office 97 Professional voor Windows. Als u de standaardopties geselecteerd wanneer u Microsoft Office hebt geïnstalleerd Professional voor Windows 95, versie 7.0, de database zich bevindt:
   \MSOffice\Access\Samples\Northwind.mdb
				
Als u de standaardopties geselecteerd wanneer u Microsoft Office hebt geïnstalleerd 97 Professional voor Windows, de database zich bevindt:
   \Program Files\Microsoft Office\Office\Samples\Northwind.mdb
				
Als de database Noordenwind.mdb bevindt zich in een andere map op uw computer, moet u de code hieronder voordat u bewerken het is.

Als u DAO gebruikt in uw macro, moet u verwijzen naar de Microsoft DAO-Object Bibliotheek of wordt het foutbericht 'gebruiker gedefinieerd type is niet gedefinieerd'. Naar verwijzen naar deze bibliotheek in Microsoft Excel versie 7.0, een module te activeren blad verwijzingen in het menu Extra en klik op de 'Microsoft DAO controleren 3.0-Objectbibliotheek' optie. Verwijzen naar deze bibliotheek in Microsoft Excel versie 97, klikt u op verwijzingen in het menu Extra in de Visual Basic Editor en de 'Microsoft DAO 3.5-objectbibliotheek'.

Meer informatie

Microsoft biedt programming voorbeelden ter illustratie, zonder expliciete of impliciete garantie van. Dit omvat, maar is niet beperkt tot impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend bent met de programmeertaal wordt aangetoond en met de hulpmiddelen voor het maken en procedures voor foutopsporing worden gebruikt. Ondersteuningstechnici van Microsoft kunnen de functionaliteit van een bepaalde procedure wordt uitgelegd, maar ze zal deze voorbeelden bieden extra functionaliteit of het samenstellen van procedures om te voldoen aan uw specifieke vereisten niet wijzigen. Voor het ophalen van een tabel vanuit Microsoft Access als volgt:

  1. Een databaseobject vast.
  2. Een Recordset-object maken.
  3. Berichtkoppen ophalen (indien gewenst).
  4. De gegevens worden opgehaald uit de tabel.
Nadat de gegevens zijn opgehaald, sluit u alle objecten die u hebt geopend door te geven.Opdrachten sluiten.

Ophalen via programmering een tabel vanuit Microsoft Access, gebruikt u de de volgende Visual Basic for Applications-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
				

Referenties

Klik op het tabblad Index van Microsoft voor meer informatie over toegang tot gegevens Excel Help, typ de volgende tekst
toegang tot gegevens in DAO
en dubbelklik op de geselecteerde tekst naar het "toegang tot externe Onderwerp van de databases met DAO'.

Eigenschappen

Artikel ID: 146406 - Laatste beoordeling: maandag 16 juli 2012 - Wijziging: 4.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 95 Standard Edition
Trefwoorden: 
kbdtacode kbhowto kbinterop kbprogramming kbmt KB146406 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende: 146406
Vrijwaring inhoud KB-artikelen over niet langer ondersteunde producten
Dit artikel heeft betrekking op producten waarvoor Microsoft geen ondersteuning meer biedt. Daarom wordt dit artikel alleen in de huidige vorm aangeboden en wordt het niet meer bijgewerkt.

Geef ons feedback

 

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