教えて! goo のコンテンツに対する取り組みについて

Accessでテーブルやクエリを沢山(100個以上?)使っております。

そこで、テーブル名やクエリ名の管理をしたいので、テーブル名(クエリ名)の一覧を抜き出したいのですが、どうすればいいのでしょうか?
または、そういうことは無理なのでしょうか??(;O;)

1個づつコピーペーストでテールブル名をエクセルに貼り付けて行こうかな?と思ったのですが、さすがに数が多すぎるので困っております。

できるだけ簡単な方法がいいのですが、もしなければVBAでもいいです。

おわかりの方がいらっしゃいましたら、よろしくお願いします。

gooドクター

A 回答 (3件)

・クエリを新規作成


・以下SQLを貼り付け
SELECT MSysObjects.Type, MSysObjects.Name, MSysObjects.Flags
FROM MSysObjects
ORDER BY MSysObjects.Type, MSysObjects.Name;
・デザインビューで表示
あとは、TypeとFlagsの条件を変えてあげれば一覧できます。

この回答への補足

最近PCをちょっと使えず、、お礼が遅くなりまして大変すみません<m(__)m><m(__)m> そして、回答ありがとうございます!!

すごいですね!こんな機能?!があるんですね。

ただ、、TypeやFlagsのコード(?)に意味があると思うのですが、、その一覧表みたいのは、どこかにのっているのでしょうか?Helpを見たのですがそこには載っていないようでしたので。

コードの意味が載っている所もしくは、テーブル又はクエリだけの一覧にするための絞り込み条件を、すみませんがまた教えて頂ければうれしいです。

よろしくお願い致します<m(__)m>

補足日時:2008/06/01 18:09
    • good
    • 6

WEBで掲載例の多いDAOのTebleDefsで、WEB例を参考にやってみました。

なかなかWEB掲載例そのままでは動かない経験が多く、下記は私の場合は何とかうまくいきましたが。
ーー
アクセスのModuleモジュールに
Sub テーブル名の取得()
Dim db As Object
Dim tdf As Object

'パス指定(変更してください)
'strPath = Current.Path
strDB = "社員2.mdb"
Open "テーブル名.csv" For Output As #1

Set db = DBEngine.OpenDatabase(strDB)

MsgBox db.TableDefs.Count & "TABLES IN " & db.Name

For Each tdf In db.TableDefs
'システムテーブル以外対象
If tdf.Attributes = 0 Then
'MsgBox tdf.Name
Print #1, tdf.Name
End If
Next tdf
Close #1
End Sub
これでcsvファイルが出来ます。
テーブル名.csvというファイルです。メモ帳で確認できます。
エクセルに読み込ませてください。A列にテーブル名が出るでしょう。
リンクテーブル分は出無いようです。
    • good
    • 2
この回答へのお礼

回答ありがとうございます<m(__)m>

VBAもまだまだ未熟者ですが、頑張ってやってみます!!

お礼日時:2008/05/18 20:21

[ツール][解析][データベース構造の解析]で


一覧やそれ以上の情報がレポート出力されます

フリーソフトにも解析ツールーはいくつかありますよ
VECTORでも覗いて見れば
    • good
    • 1
この回答へのお礼

回答ありがとうございます<m(__)m>
[データベース構造の解析]というのがあるのですね、まだまだ未熟者ですので、初めて知りました。ありがとうございました。

一度で「テーブル名の一覧のみ」ができないのが残念ですが、出力内容を最小限にしてテキストに落とし、ちょっと加工すれば一覧表ができるので良かったです。

会社での作業なので、フリーソフトは使えませんが、家用に今度覗いてみます。

どうもありがとうございました!!

お礼日時:2008/05/18 20:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング