Jak načíst tabulku z aplikace Access do aplikace Excel pomocí DAO

Překlady článku Překlady článku
ID článku: 146406 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Ve verzích aplikace Microsoft Excel výše uvedené můžete objekty DAO (Data Access OBJECTS) v aplikaci Visual Basic pro aplikace načíst tabulku z aplikace.

Makro popsané v tomto článku poskytnout příklad použití DAO načíst tabulku z aplikace Microsoft Access používá databázi Northwind dodáno s i Microsoft Office Professional pro Windows 95, verze 7.0 a Microsoft Office 97 Professional pro Windows. Pokud vybraný výchozí možnosti při nainstalován Microsoft Office Professional pro Windows 95, verze 7.0, je databáze umístěna v:
   \MSOffice\Access\Samples\Northwind.mdb
				
Pokud jste vybrali výchozí možnosti při instalaci systému Office 97 Professional pro Windows, je databáze umístěna v:
   \Program Files\Microsoft Office\Office\Samples\Northwind.mdb
				
Pokud databázi Northwind je umístěn v jiné složce v počítači, bude nutné upravit kód poskytován pod před jeho spuštěním.

Použití DAO v makru musí odkazovat knihovna objektů Microsoft DAO nebo může zobrazit chybová zpráva "uživatelem definovaný typ není definována". Odkazovat tato knihovna Microsoft Excel verze 7.0, aktivovat modulu list, klepněte v nabídce Nástroje na příkaz odkazy a zkontrolujte možnost "3.0 objektové knihovny Microsoft DAO". Odkazovat této knihovny v aplikaci Microsoft Excel verze 97, klepněte na odkazy v nabídce Nástroje v editoru jazyka a zkontrolujte "DAO 3.5 objektové knihovny Microsoft".

Další informace

Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené,. včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Pracovníci technické podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu, nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků uživatele. Načíst tabulku z aplikace Microsoft Access, postupujte takto:

  1. Vytvořit objekt databáze.
  2. Vytvoření objektu Recordset.
  3. Načíst záhlaví (v případě potřeby).
  4. Načíst data z tabulky.
Po načtení dat zavřete všechny objekty otevřít vydáním příkazů .Close.

Programově načíst tabulku z aplikace Microsoft Access, použijte následující jazyka pro kód Applications:
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
				

Odkazy

Další informace o datových klepněte na kartu Rejstřík v nápovědě aplikace Excel, zadejte následující text
přístup k datům v DAO
a potom poklepejte na vybraný text přejděte na téma "K externí databáze s DAO".

Vlastnosti

ID článku: 146406 - Poslední aktualizace: 11. října 2006 - Revize: 2.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 95 Standard Edition
Klíčová slova: 
kbmt kbdtacode kbhowto kbinterop kbprogramming KB146406 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:146406
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.

Dejte nám zpětnou vazbu

 

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