Použití rozšíření ADOX s daty aplikace Excel z aplikace Visual Basic nebo VBA

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

Na této stránce

Souhrn

Rozšíření dat objekty ActiveX, který pro Data Definition Language) a Security (ADOX) poskytuje vývojářům ActiveX Data Objects (ADO), funkce, které jsou k dispozici v aplikaci Access objekty DAO (data OBJECTS) k manipulaci s databází, tabulek, polí a další databázové objekty programově. Od vydání Microsoft OLE DB Provider pro Jet verze 4.0, který podporuje dodává ovladače databází stroj Jet používá s databázemi plochy, jiné než Microsoft Access, vývojáři ADO byly pomocí objektů ADO i rozšíření ADOX aplikace Microsoft Excel sešity a listy.

Protože listu aplikace Excel není databázi běžným, ADO má však některá omezení při použití s aplikací Excel. Zejména mnoho metod rozšíření ADOX není funkční nebo neočekávané výsledky, pokud jsou používány s aplikace Excel. Tento článek dokumentů mnoha omezení rozšíření ADOX a Excel. Další informace o použití objektů ADO v aplikaci Excel získáte v článku znalostní báze Microsoft Knowledge Base:
257819Použití objektů ADO pomocí dat aplikace Excel z aplikace Visual Basic nebo VBA
Tento článek je rozdělen do následujících oddílů:

Poznámka: testování pro tohoto článku byla provedena v systému Microsoft Windows 2000 Server Service Pack 2 (SP2) s Microsoft Data Access Components (MDAC) 2.6 SP1, Microsoft Visual Basic 6 SP5 a Microsoft Excel 2002 (XP). Tento článek není může potvrdit nebo diskutovat o rozdíly v chování, které mohou uživatelé sledovat s různými verzemi systému Windows, MDAC, Visual Basic nebo Excel.

Další informace

Rozšíření ADOX katalogy

V objektovém modelu rozšíření ADOX představuje katalog objekt v databázi nebo v případě aplikace Excel sešitu.
  • Řetězec připojení nebo objekt ADO připojení můžete použít k vytvoření nebo otevření objektu katalogu. Následující příklad kódu ukazuje, jak otevřít Sešit1.xls jako rozšíření ADOX katalog:
    Dim cat As ADOX.Catalog
    Set cat = New ADOX.Catalog
    cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & App.Path & "\book1.xls;Extended Properties=Excel 8.0"
    					
  • Objekt katalogu, má-li vytvořit metodu, ale nemá metodu Odstranit.

Vytvoření katalogu

Metoda Create objektu rozšíření ADOX katalogu nelze použít k vytvoření nového sešitu. Pokud se pokusíte provést, zobrazí následující chybová zpráva:
Operace není podporována pro tento typ objektu.
Můžete však vytvořit nový sešit aplikace Excel určením nový název souboru sešitu pro váš katalog a připojením alespoň jednu tabulku do nového katalogu, technik popsaných níže. Tato metoda vytvoří nový sešit s pouze listy, které jste vytvořili jako rozšíření ADOX tabulek; jinými slovy, výchozí počet prázdné listy určené pro nový sešit aplikace Excel pomocí dialogového okna Možnosti aplikace Excel nebude přidána.

Rozšíření ADOX tabulky

Objekt rozšíření ADOX tabulky odpovídá buď objektů aplikace Excel (to znamená, listu nebo oblasti), které mohou sloužit jako kontejner pro data.

Vytvoření tabulky

Vytvoření nové tabulky v aplikaci Excel můžete použít rozšíření ADOX. Protože nemůžete vytvořit tabulky bez také vytvoření sloupce, zobrazí se v části "ADOX Columns" ukázka kódu.
  • Vytvoření nové tabulky rozšíření ADOX vytvoří nový list i nový pojmenovaný rozsah nového listu s názvem zadaným. Nové pojmenované oblasti rozložena pouze záhlaví sloupců. Například pokud vytvoříte tabulku s názvem tabulka obsahující dva sloupce, pojmenované oblasti tabulka, která je definována jako tabulka (list)! $ A $ 1: $ B $ 1, je také vytvořen.
  • Můžete nastavit název tabulky, který obsahuje mezeru, však rozšíření ADOX nahradí prostor podtržítko v názvech list a oblast, kterou vytvoříte.
  • Jako poslední list v sešitu, následující výchozí počet prázdné listy, které jsou specifikovány v možnosti aplikace Excel pro nový sešit je vytvořen nový list.
  • Pokud se pokusíte vytvořit novou tabulku v otevřeném sešitu v aplikaci Excel, zobrazí následující chybová zpráva:
    Došlo k nespecifikované chybě.
  • Pokud se pokusíte vytvořit tabulku, která má definovány žádné sloupce, jeví proběhla úspěšně, ale ve skutečnosti nic je vytvořen.
  • Pokud se pokusíte změnit název existující tabulky, zobrazí následující chybová zpráva:
    Operace není podporována pro tento typ objektu.

Odstranění tabulky

Můžete pomocí rozšíření ADOX nelze odstranit tabulku (list) nebo pojmenovanou oblast v aplikaci Excel, bez ohledu na to, zda rozšíření ADOX byl vytvořen.
  • Pokud se pokusíte odstranit list (tabulka $), úspěšné bez chyby se zobrazí, ale zůstane listu v sešitu. Voláte metodu Odstranit opakovaně bez chyb, ale nemá žádný vliv.
  • Pokud se pokusíte odstranit rozsah (tabulka), úspěšné bez chyby se zobrazí, ale zůstane oblast v sešitu. Pokud se pokusíte odstranit oblast podruhé, se však zobrazí chyba. 3265:
    Položka nemůže být nalezen v kolekci odpovídající požadovanému názvu nebo pořadové číslo.
  • Pokud se pokusíte odstranit pojmenovanou oblast, jej neporušené definice pojmenované oblasti, ale všechna data v rozsahu je odstraněn.

Rozšíření ADOX sloupce

Rozšíření ADOX sloupce odpovídají sloupců nebo polí v databázi a úhledný odpovídají sloupci listu aplikace Excel.

ADO datové typy používané v aplikaci Excel

ADO rozpoznává šest typů dat ve zdroji dat aplikace Excel, používaná k vytvoření sloupců:

  • adDouble, zadejte 5
  • adDate, typ 7
  • adCurrency, zadejte 6
  • adBoolean, zadejte 11
  • adVarWChar, zadejte 202
  • adLongVarWChar ("Poznámky"), zadejte 203

Sloupce v obecné

  • Dříve vytvořenou tabulku můžete přidat další sloupce jako tabulka neobsahuje žádné řádky dat.
  • Můžete zadat názvy sloupců obsahující mezery.
  • Rozšíření ADOX vždy vytvoří záhlaví sloupců, která předchází jednoduchou uvozovku ('), například "F1," Sloupec1 "Sloupec2. Však to nezobrazí později způsobit potíže, protože název je získán bez znak uvozovek.

Vytvoření sloupce při vytvoření tabulky

Vytváření sloupců funguje nejlépe, když se provádí současně pomocí rozšíření ADOX je vytvořena nová tabulka.

Následující kód vytvoří novou tabulku (list), která obsahuje dva sloupce (jeden číselné a textové jeden):
    Dim cat As ADOX.Catalog
    Dim tbl As ADOX.Table
    Dim col As ADOX.Column
    Set cat = New ADOX.Catalog
    cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
	"Data Source=" & App.Path & "\book1.xls;Extended Properties=Excel 8.0"
    Set tbl = New ADOX.Table
    tbl.Name = "TestTable"
    Set col = New ADOX.Column
    With col
        .Name = "Col1"
        .Type = adDouble
    End With
    tbl.Columns.Append col
    Set col = Nothing
    Set col = New ADOX.Column
    With col
        .Name = "Col2"
        .Type = adVarWChar
    End With
    tbl.Columns.Append col
    cat.Tables.Append tbl
				

Vytvoření sloupce v existující sešit

Přidání sloupce k stávajícím, prázdný list generuje neobvyklé výsledky. Při prvním sloupci rozšíření ADOX je připojen k kolekce sloupce v tabulce, rozšíření ADOX nejprve vytvoří záhlaví sloupce s názvem F1 ve sloupci A listu a potom vytvoří nové záhlaví sloupce rozšíření ADOX v B sloupce listu. Rozšíření ADOX kód, který přidá dva nové sloupce tedy výsledkem tři záhlaví sloupců. Pokud se pokusíte odstranit to nežádoucí, první sloupec z kolekce sloupců před připojit v prvním sloupci rozšíření ADOX jeví proběhla úspěšně, ale nežádoucí sloupec je přesto vytvořen.

Odstranění sloupce

Sloupec nelze odstranit z rozšíření ADOX tabulky v aplikaci Excel.
  • Jestliže sloupec obsahuje data, tato zdánlivě úspěšné bez chyby, ale zůstanou sloupce a záhlaví sloupce.
  • Pokud sloupec obsahuje data, nezdaří se operace odstranění se následující chybová zpráva:
    Neplatná operace.

Změna typu dat existující sloupec

Po sloupec má byla připojena k tabulku, pokud se pokusíte nastavit jeho vlastnost .Type jiný datový typ, zobrazí se následující chybová zpráva:
Operace není v tomto kontextu povolena.

Přidání dat do tabulky aplikace Excel a sloupce

Při testování ADO kódu v aplikaci Excel v návrhu prostředí Visual Basic, při prvním spuštění operace záznamů, můžete obdržet následující chybovou zprávu:
Vybrat pořadí řazení není podporovaným operačním systémem.
Vám může brát v úvahu tato chybová zpráva; této chybě nedochází po aplikaci je zkompilován. Další informace získáte článku znalostní báze Microsoft Knowledge Base:
246167PRB: Kompletování sekvence chyba otevírání ADODB Recordset první čas před aplikace Excel XLS

Přidání dat do aplikace Excel sloupce, které jsou vytvořené pomocí rozšíření ADOX

Použijete-li vložit nebo upravit data v tabulky a sloupce, které jste vytvořili v aplikaci Excel pomocí rozšíření ADOX ADO, dodržuje ADO datové typy, které jste zadali pro tyto sloupce je sice není jasné, kde jsou tyto informace uloženy.
  • Všechny textové řetězce hodnoty jsou uloženy předchází jednoduché uvozovky. Nicméně to nezobrazí později způsobit potíže, protože hodnota se načte bez znak uvozovek.
  • Pokud pokusu o vložení textového řetězce do sloupce, který je definován jako numerické nebo číslo do textového sloupce zobrazí chyba 80040e21:
    Operace s více kroky k vytvoření chyb. Zkontrolujte všechny hodnoty stavu.

Přidání dat do běžných sloupce aplikace Excel

Použijete-li vložit nebo upravit data v listech aplikace Excel nebo rozsahy, které nejsou vytvořeny nebo změněny pomocí rozšíření ADOX ADO, žádné omezení uplatňují na typu dat, které lze vložit.
  • Textové řetězce jsou uloženy bez předchozího jednoduché uvozovky.
  • Čísla se zobrazí zarovnaný doleva. V aplikaci Excel 2002 jsou označeny příznakem čísla s inteligentní značky, které varuje "Čísla uložená jako text". To může způsobit potíže později při práci s daty, zejména pokud data bylo skladováno v aplikaci Excel číselné analýzy.

Pomocí SQL CREATE, ALTER a příkazy DROP

Příkazy aplikace Microsoft SQL DDL (Data Definition Language) jako CREATE, ALTER a DROP proti databázových objektů aplikace Excel můžete spustit přes objekty ADO připojení na základě výnosu stejné výsledky jako odpovídající metody rozšíření ADOX, které jsou popsány výše.

Uzavření

  • Rozšíření ADOX funguje nejlépe s aplikací Excel při novou tabulku a její sloupce jsou vytvořeny ve stejnou dobu.
  • ADO nejvhodnější s daty aplikace Excel tato data jsou uložena v listu, která je vytvořena pomocí rozšíření ADOX.

Vlastnosti

ID článku: 303814 - Poslední aktualizace: 13. července 2004 - Revize: 2.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
Klíčová slova: 
kbmt kbdatabase kbhowto kbiisam KB303814 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:303814

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