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/9pFBeeiW
Vý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.