» Poradna » Programy

VBA - MS Access - export názvů objektů, včetně názvu zdroje, ze kterého čerpají

 |   |  Microsoft Windows 7 IE 9.0

Zdravím, mám databázi v MS Access 2007. Vzhledem k velkému počtu dotazů, formulářů a sestav by se mi hodilo znát VBA kód, který umí "exportovat" do textového souboru názvy těchto objektů, včetně názvů tabulek a dotazů, ze kterých tyto objekty čerpají. Můžete mi poradit, prosím? DíkyKód, který umí exportovat názevy objektů databáze, za který moc děkuji uživateli Pavlovi, je: Sub ObjectNames() Dim db As Database Dim td As TableDef Dim doc As Document Dim i As Integer Dim fnum Set db = CurrentDb() fnum = FreeFile Open CurrentProject.Path & "\ObjectNames.txt" For Output As #fnum For Each td In db.TableDefs If Left(td.Name, 4) <> "MSys" Then Print #fnum, "Tables" & vbTab & td.Name End If Next td For i = 0 To db.QueryDefs.Count - 1 Print #fnum, "Queries" & vbTab & db.QueryDefs(i).Name Next i For Each doc In db.Containers("Forms").Documents Print #fnum, "Forms" & vbTab & doc.Name Next doc For Each doc In db.Containers("Reports").Documents Print #fnum, "Reports" & vbTab & doc.Name Next doc For Each doc In db.Containers("Scripts").Documents Print #fnum, "Macros" & vbTab & doc.Name Next doc For Each doc In db.Containers("Modules").Documents Print #fnum, "Modules" & vbTab & doc.Name Next doc Set db = Nothing Close #fnum End Sub

Odpovědi na otázku

 |   |  Microsoft Windows Vista Opera 9.80

Kód pro výpis závislostí jsem našel na téhle stránce:http://flylib.com/books/en/1.129.1.105/1/Procedura ShowDependencies je vypisuje do okna "Immediate" (pokud není ve VBA editoru vidět, zobrazí se z menu View nebo Ctrl+G). Z okna je možné si výstup zkopírovat jinam.Protože se při kopírování kódu z výše uvedené stránky nezachovává odřádkování, dal jsem to ještě na pastebin (vč. hlavní procedury ObjectDependencies, která volá výpis závislostí postupně pro jednotlivé objekty)http://pastebin.com/9pFBeeiWVýpis závislostí má ale pár háčků. První je, že ne všechny objekty jsou podporované. V helpu je uvedeno:Informace o závislostech objektů jsou v databázi Access generovány jen pro tabulky, dotazy, formuláře a sestavy. Nejsou k dispozici pro následující objekty: - datové stránky, makra a moduly v databázi; - objekty nepodporované funkcí automatických oprav názvů, například akční dotazy a dotazy SQL, včetně sjednocovacích dotazů a definičních dotazů, předávacích dotazů a poddotazů; - projekty aplikace Access. Poznámka: Vnořené dotazy jsou podporovány jen částečně. Informace o závislostech jsou vygenerovány jen pro dotaz na nejvyšší úrovni. V seznamu objektů, na kterých dotaz závisí, navíc nejsou uvedeny zdrojové tabulky a dotazy vnořeného datového listu vyhledávacích polí dotazu. Informace o závislostech nejsou k dispozici ani tehdy, nemáte-li oprávnění k otevření objektu v návrhovém zobrazení. Nevím jak u Accessu 2007, ale v 2003 je možnost zobrazit Závislost objektů i graficky (v menu Zobrazit). V příslušném okně jsou pak vidět i některé Ignorované objekty. To by mohlo sloužit pro kontrolu toho, co se ve skriptu nevypíše.A ještě je důležité, aby bylo povoleno Sledování informací o automatických opravách názvů. To se kdyžtak nastavuje v Možnostech Accessu.Pozor na případné zapnutí volby: Provádět automatické opravy názvů. Jestli jste ji doposud nepoužívali, tak po její aktivaci se při přejmenování např. nějaké tabulky, automaticky provede úprava názvu v dalších, závislých objektech.To je užitečná funkce, ale je dobré znát tyto důsledky. Někdy to třeba nemusí být žádoucí. Pro běh skriptu ale stačí zvolit pouze Sledování (to vytváří a následně aktualizuje mapu názvů).Možná bude dobré udělat před spuštěním skriptu zálohu databáze, anebo to spustit na kopii.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 19.0

Diky moc :)

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: .doc, Vba ms, Next, Print




Určitě si přečtěte

Dell XPS 13: Když vás ostatní doženou až za tři roky

Dell XPS 13: Když vás ostatní doženou až za tři roky

** XPS 13 nastartoval trend notebooků bez rámečků ** Letošní model kompletně přechází na USB-C ** Navzdory malému tělu se řadí výkon ke špičce

Tomáš Holčík | 34

Podívejte se, co se stane, když dron DJI Phantom narazí do křídla letadla

Podívejte se, co se stane, když dron DJI Phantom narazí do křídla letadla

** Co se může stát, když relativně maličký dron narazí do křídla letadla? ** Tuto otázku zodpověděli odborníci laboratorním pokusem ** Kvadrokoptéra způsobila významné poškození křídla

Karel Kilián | 19

Praktické vychytávky, které si chcete doinstalovat do Windows

Praktické vychytávky, které si chcete doinstalovat do Windows

** Pokud vás nudí vzhled nabídky Start, snadno jej můžete změnit. ** Stejně tak existují programy na přidání záložek do programů. ** Spokojit se ani nemusíte se základním ovládáním hlasitosti.

Vladislav Kluska | 45

Windows 10 už jsou na 700 milionech počítačů, ale není to jen labutí píseň?

Windows 10 už jsou na 700 milionech počítačů, ale není to jen labutí píseň?

** Windows 10 překonaly hranici 700 milionů instalací ** To je úctyhodné číslo a miliarda se blíží ** Analýzy ale i tak ukazují proměnu, jak používáme počítače a mobily

Jakub Čížek | 49

V doupěti hackerů na brněnské FIT: Ukázali nám útoky na Bluetooth i vlastní chytré krabičky

V doupěti hackerů na brněnské FIT: Ukázali nám útoky na Bluetooth i vlastní chytré krabičky

** Internet je plný malwaru, to už dnes ví každý ** Víte ale, že lze útočit třeba i na Bluetooth? ** Navštívil jsem hackery z brněnského FITu

Jakub Čížek | 1


Aktuální číslo časopisu Computer

Jak vytvořit a spravovat vlastní web

Velký test herních klávesnic a DVB-T2 tunerů

Vše o formátu RAW

Vybíráme nejlepší základní desku