人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MS Access形式の MDBファイル に対してODBC経由でアクセスするときに,テーブル一覧を取得したいのですが,どのようなSQL文を書いたらいいでしょうか?

●質問者: hichikawa
●カテゴリ:コンピュータ
✍キーワード:access MDB MS ODBC SQL
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● mj99
●60ポイント

SQLは下記のとおりです。

SELECT MSysObjects.Name FROM MsysObjects 
WHERE (Left([Name],1)<>'~') AND (Left([Name],4) <> 'Msys') AND (MSysObjects.Type)=1
ORDER BY MSysObjects.Name

*(Left([Name],1)<>'~')は削除テーブルの除外のため

*(Left([Name],4) <> 'Msys')はシステムテーブル除外のため

*(MSysObjects.Type)=1は普通のテーブル

(Type=4はMDBテーブルのリンク。Type=6は外部DBのリンク)

----

ただし、ODBC経由では権限が無いので読み取りできないかも知れません。

下記の操作でMsysObjectsに権限を与えます。

1.AccessでMDBを開く。

2.[ツール]=>[オプション]で「隠しオブジェクト」「システムオブジェクト」を表示するよう設定する

3.[ツール]=>[セキュリティ]=>[ユーザグループの権限]でODBCでログインするに対し、「MsysObjects」に「読み取り」を選択

(ODBCでユーザID/パスワードを無しにしているなら、「管理者」に対して「読み取り」を与えて下さい)


http://www.friendlysw.com/knowhow/Queries_Intermediate_001.asp

http://www.penhagi.com/access/tips/60_obj.htm

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ