質問: ローカルテーブルが別のデータベースのリンクテーブルであるかどうかを確認する 私は、すべてローカルテーブルを備えた無数のaccessデータベースを持っている会社のit担当者を引き継ぎました。データベースには20個のローカルテーブルがあり、そのうち10個はリンクテーブルとして異なるデータベースにリンクされています。すべてのaccessデータベースを開かずに、ソーステーブルから別のデータベースにリンクされているかどうか、リンクされている場合はどれにリンクされているかを確認する方法はありますか?編集-> これはおそらく実行可能な解決策ではないので、このように質問を言います。個々のデータベースを開くと、リンクされているすべてのテーブルと、テーブルがリンクされているソースdbのリストを提供する実行可能なスクリプトはありますか?
回答: これを試して:public sub loopthroughtables() dim db as dao.database dim tdf as dao.tabledef set db = currentdb for each tdf in db.tabledefs ' ignore system and temporary tables if not (tdf.name like "msys*" or tdf.name like "~*") then debug.print tdf.name, tdf.connect end if next set tdf = nothing set db = nothing end sub 出典: ms access db内のすべてのテーブルをループする方法 (tdf.connectを追加)上記のコードは、各テーブルの名前とそのテーブルの接続文字列を一覧表示します。ローカルテーブルの場合、接続文字列は空白になります。これは、「localtable」という名前のローカルテーブルと「linkedtable」という名前のリンクされたテーブル(excelファイルにリンクされている)が1つあるaccessdbからの出力例です。 linkedtable excel 12.0 xml;hdr=yes;imex=2;accdb=yes;database=c:\temp\temp.xlsx localtable