Select the product you need help with
Jak přenést data z ADO Recordset Excel s automatizaceID článku: 246335 - Produkty, které se vztahují k tomuto článku. Na této stránceSouhrnAutomatizace Excel je možné přenést obsah sadu záznamů ADO do listu aplikace Microsoft Excel. Přístup můžete použít, závisí na verzi aplikace Excel jsou automatizace. Aplikace Excel 97, Excel 2000 a Excel 2002 mít CopyFromRecordset metodu, můžete použít k přenosu sadu záznamů rozsah. CopyFromRecordset v aplikaci Excel 2000 a 2002 lze zkopírovat DAO nebo ADO recordset. CopyFromRecordset v aplikaci Excel 97 však podporuje pouze sady záznamů DAO. Sadu záznamů ADO přenést do aplikace Excel 97, vytvořit matici ze sady záznamů a naplnit oblast s obsahem této matice. Tento článek popisuje oba způsoby. Ukázkový kód prezentovány ilustruje, jak přenést sadu záznamů ADO Excel 97, Excel 2000, Excel 2002, Excel 2003 nebo Excel 2007. Další informaceUkázka kódu poskytované níže ukazuje, jak kopírovat ADO recordset listu Microsoft Excel pomocí automatizace z aplikace Microsoft Visual Basic. Kód nejprve zkontroluje verzi aplikace Excel. Pokud je zjištěn Excel 2000 nebo 2002, je použita metoda CopyFromRecordset, protože je efektivní a vyžaduje méně kód. Však Pokud zjištěn aplikace Excel 97 nebo dřívější sady záznamů nejprve zkopírován na matici pomocí metody GetRows objekt ADO recordset. Matice je pak převeden, takže jsou záznamy v první dimenzi (v řádcích) a pole jsou v druhá dimenze (ve sloupcích). Matice poté zkopírován do listu aplikace Excel prostřednictvím přiřazení pole oblast buněk. (Pole je zkopírované v jednom kroku spíše než existující cyklické prostřednictvím každou buňku v listu). Ukázkový kód používá ukázkové databázi Northwind, která je součástí Microsoft Office. Pokud jste vybrali výchozí složku při instalaci sady Microsoft Office, je databáze umístěna v: \Program Files\Microsoft Office\Office\Samples\Northwind.mdb Pokud Northwind je databáze umístěna v jiné složce v počítači, musíte upravit cestu databáze v kódu poskytované níže. Pokud máte databázi Northwind v systému nainstalována, můžete použít možnost grafem.@je instalační program Microsoft Office nainstalovat ukázkové databáze. Poznámka: Databáze Northwind není nainstalována při instalaci sady Microsoft Office 2007. Získání Northwind 2007 naleznete na následujícím webu: http://office.microsoft.com/en-us/templates/TC012289971033.aspx
(http://office.microsoft.com/en-us/templates/TC012289971033.aspx)
Kroky vytvoření ukázkových
CopyFromRecordset efektivitu a výkon je upřednostňovaným způsobem. Protože aplikace Excel 97 podporuje sady pouze DAO záznamů s CopyFromRecordset, pokud se pokusíte předat sadu záznamů ADO CopyFromRecordset aplikaci Excel 97, zobrazí se následující chybová zpráva: Chyba při běhu 430: Třída nepodporuje automatizaci nebo nepodporuje očekávané rozhraní. Poznámka: Při použití CopyFromRecordset měli být vědomi, použijete sadu záznamů ADO nebo DAO nemůže obsahovat polí objektů OLE nebo matice data jako například hierarchické sady záznamů. Pokud sadu záznamů zahrnout pole obou typů, metoda CopyFromRecordset se nezdaří s následující chybou: Chyba při běhu-2147467259: Metoda CopyFromRecordset objektu Range se nezdařila. Pokud je zjištěn Excel 97, použijte metodu GetRows sadu záznamů ADO zkopírovat sadu záznamů do matice. Pokud přiřadíte matice vrácené GetRows oblast buněk v listu, přejde data ve sloupcích namísto v řádcích. Například pokud sada záznamů má dvě pole a 10 řádků, pole zobrazí jako dva řádky a sloupce 10. Proto musíte transponovat matice pomocí funkce TransposeDim() před přiřazením pole oblast buněk. Při přiřazování matici oblast buněk, jsou některá omezení být vědomi: Při přiřazování matici objektu Excel Range platí následující omezení:
Run-time chyba 13: Neshoda typu Run-time Chyba 5: Argument nebo volání procedury neplatný Run-time error 1004: Definované aplikací nebo objekt definován chyba OdkazyDalší informace o omezení na předávání matic do různých verzích klepněte na následující číslo článku databáze Microsoft Knowledge Base: 177991 Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
(http://support.microsoft.com/kb/177991/
)
XL: Omezení předávání Arrays Excel pomocí automatizace 146406
(http://support.microsoft.com/kb/146406/EN-US/
)
XL: Jak načíst tabulku z aplikace Access do aplikace Excel pomocí DAO 215965
(http://support.microsoft.com/kb/215965/
)
XL2000: 12: 00: 00 dop dřívější než 1900 zobrazené pro data 243394
(http://support.microsoft.com/kb/243394/
)
Jak použít MFC kopírování DAO Recordset Excel s automatizace 247412
(http://support.microsoft.com/kb/247412/
)
INFORMACE: Metody pro přenos dat do aplikace Excel z jazyka VlastnostiID článku: 246335 - Poslední aktualizace: 28. března 2007 - Revize: 5.1 Informace v tomto článku jsou určeny pro produkt:
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:246335
(http://support.microsoft.com/kb/246335/en-us/
)
| Překlady článku
|




Zpět nahoru








