
お世話になります。
仕事でアクセスファイルのリンクテーブル一覧を作成しなければならず、下記のsqlを用いて作業を進めています。
SELECT Name, Database
FROM MSysObjects
WHERE Type=6
ORDER BY Name;
ところがこの時不思議な現象が起きます。
というのも、splで表示させたリンクテーブルの方が、リンクテーブルマネージャーで表示させたリンクテーブルよりひとつ二つ多かったりするのです。
これはどういった原因で起こり得る現象でしょうか。
削除済みのリンクを拾っているのでしょうか。
もしくは、VBAでこっそりリンクしているテーブルがあるのでしょうか。
何卒アドバイスのほどよろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
Access2007は持ち合わせていませんが2010では
オブジェクト(ナビゲーションウィンドウのテーブル名)上で右クリック
「このグループに表示しない」を選択すれば隠しオブジェクトになります。
表示したい場合は、
ナビゲーションオプションで隠し『オブジェクトの表示』にチェックを入れ
グレー表示されているオブジェクト上で右クリック、「このグループに表示」です。
隠しオブジェクトになっている場合はリンクテーブルマネージャには表示されませんね。
この回答への補足
お世話になっております。
ご指摘の通り、隠しオブジェクトとシステムオブジェクトを表示させたところ、差分のリンクテーブルが現れました。
ありがとうございます。
最後に一点確認させていただきたいのですが、隠しオブジェクトはユーザが意図的に隠しオブジェクトに設定したとわかるのですが、システムオブジェクトとなっているリンクテーブルはどういう理由でシステムオブジェクトとなるものなんでしょうか?やはりVBA関係というところでしょうか?
お世話になっております。
どういう要因でリンクテーブルがシステムオブジェクトになるのか知りたいところですが、十分有益なご回答を頂いたため、明日中に誰からも追加コメントありませんでしたら、こちらでベストアンサーさせていただきます。
No.4
- 回答日時:
#2のTabledefのConnect(接続文字列)にヒントが隠されているかもしれませんが、
当方では、
リンクテーブルでかつシステムオブジェクトであったケースは覚えがないので分からないです。
VBA云々は関係ないだろうとは思います。
No.2
- 回答日時:
とりあえず全部表示してみてください。
Access 2007/2010 で「隠しオブジェクト」「システムオブジェクト」を表示したい
http://pasofaq.jp/office/access/access2007hidden …
あるいは、イミディエイトウィンドウで
?currentdb.tabledefs("問題のテーブル名").connect
と入力して、Enter キー で何か返ってくればリンクテーブルです。
この回答への補足
ありがとうございます。明日朝一番で会社に着いたら試してみます。
なお、一点確認させていただきたいのですが、リンクテーブルがすべてリンクテーブルマネージャー上に表示されると考えては早計という認識でよいのでしょうか。
No.1
- 回答日時:
内部で一時ファイル作ってるのかも。
ご自身で把握できてるテーブル名一覧と差を取れば良いのでは?
この回答への補足
なるほど一時ファイルですか。
その場合もリンクファイルとして検索されるのでしょうか?
把握できてるテーブル名一覧と差を取ることで、どのテーブルが差分なのかは把握できているのですが、それらのテーブルがどこでどういう風に使われているのか分からない状況です。(結果として、SQL表示か、リンクテーブルマネージャーのいずれが正か分からない状況です。)
ちなみにご存知なら教えていただきたいのですが、「外部データの取り込み」のインターフェイスからリンク設定せずに、VBA内でこっそりリンク処理されている場合は、リンクテーブルマネージャには該当テーブルが表示されないのでしょうか。
何卒よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
テーブルリンク リンク元を知りたい
Access(アクセス)
-
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
access テーブル一覧エクスポート
Access(アクセス)
-
6
Access サブフォームでの選択行の取得
その他(データベース)
-
7
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
8
Accessで使用しているリンクテーブルの接続文字列をVBAから変更したい
Access(アクセス)
-
9
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
10
ExcelVBAからAccessMDB内のテーブル存在チェックをしたい
Visual Basic(VBA)
-
11
クエリーで、全角混じりデータの抽出[access95]
Access(アクセス)
-
12
AccessからExcelのファイルを起動する
その他(データベース)
-
13
Accessのテーブルで、リンク?ODBC?
Access(アクセス)
-
14
「#エラー」の回避
Access(アクセス)
-
15
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
16
フォームウィンドウを最前面に表示したい(ACCESS)
Microsoft ASP
-
17
Accessのリンクされたテーブルでリンク先ではデータを変更出来ないようにするには?
Access(アクセス)
-
18
AccessのDAO.ExecuteとDoCmd.RunSqlの違いについて
その他(データベース)
-
19
ACCESSで別DBにあるクエリを実行する
Visual Basic(VBA)
-
20
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「テーブルに座って……」という...
-
オーダーの覚え方について
-
Excelのテーブルでmatch関数の...
-
特定物と不代替物の違い
-
男性と2人で飲食店に行きテーブ...
-
コンボボックスにレコードセッ...
-
テーブル名の前のドットの意味
-
ACCESS 社内ネットワークで、テ...
-
時給の変更に対応する方法
-
【エクセル】データテーブルの...
-
SQLの作り方
-
SQLです!!教えてください。あ...
-
複数テーブルが絡む複雑なUPDAT...
-
SQLのSELECT結果を縦...
-
別テーブルにIDが存在しないレ...
-
面接のときテーブルが正面に。...
-
会社の飲み会の幹事になり、座...
-
人の前を通る場合について
-
【MySQL】1対1でテーブルをあ...
-
下記、問題に対しての解答が以...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「テーブルに座って……」という...
-
会社の飲み会の幹事になり、座...
-
外部キーだけのテーブル(主キ...
-
テーブルリンク リンク元を知...
-
オーダーの覚え方について
-
下記、問題に対しての解答が以...
-
飲み会で、座敷orテーブルどち...
-
アクセスのリンクテーブル一覧...
-
【エクセル】データテーブルの...
-
L2SWはARPテーブルを持っている?
-
面接のときテーブルが正面に。...
-
男性と2人で飲食店に行きテーブ...
-
UTF8のテーブルをODBCドライバ...
-
お金持ちのテーブル
-
1つのテーブルに同じデータを参...
-
テーブル名の前のドットの意味
-
複雑なSQL文について
-
データベースの接続に失敗して...
-
【PHP】SQL文のSUM関数で出力し...
-
更新されたテーブルを表示したい
おすすめ情報