Ako používať ADOX s údajmi programu Excel z programu Visual Basic alebo VBA

Preklady článku Preklady článku
ID článku: 303814 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

ActiveX údajov objekty rozšírenia pre údaje Definition Language a zabezpečenia (ADOX) poskytuje vývojárom ActiveX Data Objects (ADO) spôsobilostí, ktoré sú prítomné v údajov Access Objects (DAO) manipulovať databázy, tabuľky, polia a iné objekty databázy pomocou programovania. Od prepustenie Jet verzia 4.0, ktorý podporuje Knižnica ISAM ovládače, ktoré Jet engine používa desktopové databázach iné než Microsoft Access, poskytovateľa Microsoft OLE DB ADO vývojári boli schopní používať ADO a ADOX s Microsoft Excel zošitov a pracovných hárkov.

Avšak, pretože pracovného hárka programu Excel nie je bežné databázy, ADO má určité obmedzenia keď sa používa v programe Excel. Najmä mnoho ADOX metód buď nie pracovať alebo dať neočakávané výsledky, keď sa používajú v programe Excel. Tento článok dokumenty mnoho obmedzení ADOX a Excel. Ďalšie informácie o používaní ADO s programom Excel, po kliknutí na nasledujúce číslo článku databázy Microsoft Knowledge Base:
257819 Ako používať ADO s údajmi programu Excel z programu Visual Basic alebo VBA
Tento článok je rozdelená do nasledujúcich sekcií:

POZNÁMKA: Testovanie tohto článku bola vykonaná na 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ánok nesmie potvrdiť alebo diskutovať o rozdieloch v správaní, ktoré používatelia môžu pozorovať s rôznymi verziami systému Windows, MDAC, Visual Basic alebo Excel.

DALSIE INFORMACIE

ADOX katalógy

V objektovom modeli ADOX Katalóg objekt predstavuje databázy alebo, v prípade programu Excel, zošit.
  • Môžete použiť ADO Pripojenie objekt alebo pripojenie reťazec vytvorte alebo otvorte Katalóg objekt. Nasledujúca ukážka kódu ilustruje spôsob na otvorenie súboru Zošit1.xls ako ADOX Katalóg:
    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"
    					
  • The Katalóg objekt má Vytvoriť metóda ale nemá Odstrániť metóda.

Vytvorenie katalóg

Nemôžete použiť Vytvoriť metóda ADOX Katalóg objekt vytvoríte nový zošit programu Excel. Ak sa pokúsite tak urobiť, zobrazí sa nasledovné chybové hlásenie:
Operácia nie je podporovaná pre tento typ objektu.
Môžete však vytvoriť nový zošit programu Excel špecifikovaním nový názov súboru zošita pre katalóg a pridávanie aspoň jednu tabuľku na nový katalóg, použitím techník ohodnocovania. Táto metóda vytvorí nový zošit s iba pracovné hárky ste vytvorili ako ADOX tabuľky; inými slovami, predvolený počet prázdne hárky špecifikovaných pre nový zošit programu Excel prostredníctvom programu Excel Možnosti dialógové okno sa nepridajú.

ADOX tabuľky

ADOX Tabuľka objekt zodpovedá buď Excel objektov (t.j. pracovný hárok alebo rozsah), ktoré môžu slúžiť ako kontajner pre údaje.

Vytvorenie tabuľky

ADOX môžete použiť na vytvorenie nových tabuliek v programe Excel. Pretože nemôžete vytvoriť tabuľku bez aj vytváranie stĺpcov, vzorka kódu sa zobrazí v ”ADOX stĺpcov"časť.
  • Vytvorenia novej tabuľky ADOX vytvorí nový pracovný hárok a nové pomenovaný rozsah na nový pracovný hárok s názvom určeným. Nové pomenovaný rozsah pokrýva iba nadpisy stĺpcov. Napríklad, ak vytvoríte tabuľku (hárok) s názvom MyTable s dvoma stĺpcami, pomenovaný rozsah MyTable, ktorý je definovaný ako MyTable!$ A$ 1:$ B$ 1, je tiež vytvoril.
  • Môžete zadať názov tabuľky, ktorý obsahuje priestor; Avšak, ADOX nahradí priestor podčiarkovník na hárku a rozsahom mená, ktoré vytvoríte.
  • Vytvára sa nový pracovný hárok ako posledný hárok v zošite, po predvolený počet prázdne hárky, ktoré sú špecifikované v možnosti programu Excel pre nový zošit.
  • Ak sa pokúsite vytvoriť novú tabuľku po otvorení zošita v programe Excel, zobrazí sa nasledovné chybové hlásenie:
    Nešpecifikovaná chyba.
  • Ak sa pokúsite vytvoriť tabuľku, ktorá nemá definované žiadne stĺpce, zdá sa to podarí, ale v skutočnosti nič je vytvorený.
  • Ak sa pokúsite zmeniť názov existujúcej tabuľky, zobrazí sa nasledovné chybové hlásenie:
    Operácia nie je podporovaná pre tento typ objektu.

Odstránenie tabuľky

Nemožno použiť ADOX chcete odstrániť tabuľku (hárok) alebo pomenovaný rozsah v programe Excel, či ho vytvoril ADOX.
  • Ak sa pokúsite odstrániť hárok (MyTable$), zdá sa to podarí bez chyby, ale hárka zostáva v zošite. «Mô?ete zavola» Odstrániť metóda opakovane bez chyby, ale to nemá žiadny vplyv.
  • Ak sa pokúsite odstrániť rozsah (MyTable), zdá sa to podarí bez chyby, ale rozsah zostáva v zošite. Avšak, ak sa pokúsite odstrániť rozsah druhýkrát, zobrazí chybové hlásenie 3265:
    Položka sa nenašla v kolekcii, zodpovedajúcich na požadované meno alebo poradové číslo.
  • Ak sa pokúsite odstrániť pomenovaný rozsah, ponecháva pomenovaný rozsah definície neporušené, ale akékoľvek údaje v rozsahu sa vypúšťa.

ADOX stĺpcov

ADOX stĺpcoch zodpovedajú stĺpce alebo polia v databáze a úhľadne zodpovedať stĺpcov pracovného hárka programu Excel.

Typy údajov ADO používať s programom Excel

ADO uznáva šesť typov údajov v programe Excel datasource, ktoré môžete použiť na vytvorenie paralelných stĺpcov:

  • adDouble, typ 5
  • adDate, typ 7
  • adCurrency, typ 6
  • adBoolean, zadajte 11
  • adVarWChar, zadajte 202
  • adLongVarWChar ("dobropisu"), zadajte 203

Stĺpce vo všeobecnosti

  • Dodatočné stĺpce môžete pripojiť do predtým vytvorený tabuľky tak dlho, ako tabuľka neobsahuje žiadne riadky údajov.
  • Môžete zadať názvy stĺpcov, ktoré obsahujú medzery.
  • ADOX vždy vytvorí hlavičky stĺpcov, ktoré predchádza apostrof ("), napríklad „F1," stĺpci 1, "Col2. Avšak táto možnosť nezobrazí spôsobiť problém neskôr, pretože názov sa načítajú bez znak úvodzoviek.

Vytváranie stĺpcov pri vytváraní tabuľky

Vytváranie stĺpcov funguje najlepšie, keď je to hotovo v tom istom čase, že nová tabuľka je vytvorený s použitím ADOX.

Nasledovný kód vytvára nové tabuľky (hárok), ktorý obsahuje dva stĺpce (jeden numerickej a jednu textovú):
    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
				

Vytváranie stĺpcov do existujúceho hárka

Pridávanie stĺpce na vopred, prázdny hárok generuje nezvyčajné výsledky. Pri prvom stĺpci ADOX je pripojená k zberu stĺpce v tabuľke, ADOX najprv vytvára hlavičku stĺpca s názvom F1 v stĺpci a pracovného hárka a potom vytvorí novú hlavičku stĺpca ADOX v stĺpci b pracovného hárka. Preto ADOX kód, ktorý pridá dva nové stĺpce výsledky v troch hlavičky stĺpcov. Ak sa pokúsite odstrániť toto nechcené, prvý stĺpec zo stĺpcov zbierky pred si append prvý stĺpec ADOX zdá uspieť, ale napriek tomu sa vytvorí nechcené stĺpec.

Odstraňovať stĺpce

Z ADOX tabuľky programu Excel nemôžete odstrániť stĺpec.
  • Ak stĺpec neobsahuje údaje, sa zdá, že uspieť bez chyby, ale stĺpec a hlavička stĺpca zostať.
  • Ak stĺpec obsahuje údaje, operáciu odstránenia zlyhá s nasledujúce chybové hlásenie:
    Neplatná operácia.

Zmena typu údajov v existujúcich stĺpca

Po stĺpec má pripojené k tabuľke, ak sa pokúsite nastaviť jeho.Typ nehnuteľnosti na typ rôznych údajov zobrazí nasledujúce chybové hlásenie:
Operácia nie je povolená v tomto kontexte.

Pridanie údajov do programu Excel tabuľky a stĺpce

Pri testovaní ADO kód programu Excel v prostredí projektu programu Visual Basic, po prvýkrát, že spúšťate operáciu záznamov môžu zobrazí nasledujúce chybové hlásenie:
Vybrané collating postupnosti nepodporuje operačný systém.
Môžete ignorovať toto chybové hlásenie; Táto chyba sa nevyskytne po žiadosti je zostavený. Ďalšie informácie získate kliknutím na nasledujúce číslo článku databázy Microsoft Knowledge Base:
246167 PRB: Porovnávaním sekvencia chyba otvárania ADODB záznamov prvýkrát proti programu Excel XLS

Pridanie údajov do programu Excel stĺpce, ktoré sú vytvorené ADOX

Keď použijete ADO vkladať alebo upravovať údaje v tabuliek a stĺpcov, ktoré ste vytvorili v programe Excel pomocou ADOX, ADO rešpektuje typy údajov, ktoré ste zadali pre tieto stĺpce, hoci nie je jasné kde tieto informácie sú uložené.
  • Všetky textové reťazec hodnoty sú uložené, predchádza apostrof. Avšak táto možnosť nezobrazí spôsobiť problém neskôr, pretože hodnota sa načíta bez znak úvodzoviek.
  • Ak chcete vložiť textový reťazec do stĺpca, ktorý je definovaný ako numerická alebo číslo do textového stĺpca, zobrazí chyba 80040e21:
    Viacerých krokov prevádzky generuje chyby. Skontrolujte hodnoty jednotlivých stavov.

Pridávajú sa údaje na bežných Excel stĺpce

Keď použijete ADO vkladať alebo upravovať údaje v hárkoch programu Excel alebo rozsahy, ktoré nie sú vytvorené alebo upravené pomocou ADOX, žiadne obmedzenia sa uplatňujú na typ údajov, ktorý môžete vložiť.
  • Textové reťazce sú uložené bez predchádzajúceho apostrof.
  • Čísla sa zobrazia zarovnané doľava. V programe Excel 2002, čísla sú označené s inteligentnú značku, ktorá varuje "Čísla uložené ako text". Toto môže spôsobiť problém neskôr pri práci s údajmi, najmä ak boli údaje uložené v programe Excel pre numerická analýza.

Pomocou SQL vytvoriť ALTER a KVAPKA výkazy

Môžete spustiť Microsoft SQL údajov Definition Language (DDL) výkazy, ako vytvoriť, ALTER a POKLES proti Excel databázové objekty nad ADO Pripojenie na prinášal rovnaké výsledky ako zodpovedajúce ADOX metódy, ktoré sú popísané vyššie.

Záver

  • ADOX funguje najlepšie s Excel pri novej tabuľky a jej stĺpce sú vytvorené v rovnakom čase.
  • ADO najlepšie pracuje s údajmi programu Excel, ak tieto údaje je uložená v pracovnom hárku, ktorý je vytvorený s použitím ADOX.

Vlastnosti

ID článku: 303814 - Posledná kontrola: 31. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
Kľúčové slová: 
kbdatabase kbhowto kbiisam kbmt KB303814 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:303814

Odošlite odozvu

 

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