• ベストアンサー

Accessでテーブルやクエリのリストを作りたい。

テーブルが100、クエリが200ほどあるデータベースを使用してます。そのほかにレポート、フォーム、マクロもそこそこあります。これらのテーブル名やクエリ名の一覧表を作成したいのですがどうすればいいでしょうか。出力はファイル(たとえばExcelなど)でもプリントアウトでもかまいません。初心者なのでできるだけ簡単方法を教えていただければ助かります。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

#1の情報を使わせてもらって、実際やってみました。質問者が、#1の回答の先が、判るレベルの人なら良いのだが、そこが心配になって、あるサイトのコードを修正して書いておきます。 http://www.accessclub.jp/sql/07.html ーー アクセスのオブジェクトの「モジュール」に Sub MySQLSelect() On Error GoTo エラー Dim db As DAO.Database Dim qdf As DAO.QueryDef Dim mySQL As String Set db = CurrentDb()   ' SQLを記述します。 'mySQL = "SELECT * FROM 生徒;" mySQL = "SELECT Name FROM MsysObjects WHERE Left([Name],4) <> 'Msys' AND Type = 1;" Set qdf = db.CreateQueryDef("Q_sample", mySQL) ' Q_sampleを作成します。 DoCmd.OpenQuery qdf.Name ' クエリを開きます。 db.Close Set db = Nothing Exit Sub エラー: If Err.Number = 3012 Then db.QueryDefs.Delete "Q_sample" ' Q_sampleを削除します。 Resume Else MsgBox Err.Number & " : " & Err.Description End If End Sub を作る(コピペする) ーー そして実行する。 テーブル名の一覧が表示される。 クエリ一覧なら#1でご紹介のサイトのクエリ一覧のように、上記WHERE条件のところを変える。レポート以下の場合同じくWHERE条件を修正。 ーーーー Excelのシートに移すのは、クエリの結果(たとえばテーブル名一覧)をコピーして、Excelシートに貼り付けると良い。 ADO、DAOでクエリの結果をプログラムでExcelのセルに書き込む方法が有るが、>初心者なので、ならVBAの経験も無いだろう。この件も書かれたコードの勉強は大変だが、質問の課題限定という事で、言われたとおりやって、結果だけ取る、という意味で回答する。 ーー VBAを使わない方法では クエリー新規作成で、どれかテーブルでクエリを作る。 テーブル部(上部)で右クリックで「テーブルの削除」 表示ーSQLビューで、SELECT文をそっくり SELECT Name FROM MsysObjects WHERE Left([Name],4) <> 'Msys' AND Type = 1; に置き換え(プログラムの中のSQL文の文字を貼り付けたもの) これを実行してもテーブル一覧がクエリの結果として出てくるでしょう。

gemini55
質問者

お礼

回答ありがとうございます。 なんとか理解できそうなのでやってみます。

その他の回答 (2)

回答No.3

gemini55さん 今日は! 回答者のimogasiさんから既に回答が出ておりますので。 Accessのサイトをご紹介致しますので今後の参考にされては? ■Accessサイトリンク集↓ http://www.accessclub.jp/linksite/index.html このサイトが参考に為りそうです。 ■Accessのオブジェクト名一覧を出力する方法 《テーブル名・クエリ名・フォーム名・レポート名等の一覧》 (Ac97,Ac2000,Ac2002)↓ http://www.nurs.or.jp/~ppoy/access/access/acEt015.html このサイトが最も判り易いかも知れません。 ご参考までに。

gemini55
質問者

お礼

回答ありがとうございます。 Accessのオブジェクト名一覧を出力する方法は大変参考になりました。

  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

こんにちは。  下記サイトをご参照下さい。   http://www.nurs.or.jp/~ppoy/access/access/acQ017.html   システムテーブルを検索すれば表を作れます。 では。

gemini55
質問者

お礼

回答ありがとうございます。 頑張ってみます。

関連するQ&A

  • Access97のテーブル、クエリー、フォームなどのフィールドや構成をエクセルなどに移す方法

    Access97のあるひとつのmdbの中にあるテーブル、クエリー、フォーム、レポート、マクロ、モジュールの構成をエクセルなどに洗い出したいのですが。 ツールの解析→データベースの解析でエクセルファイルに出力という方法を見つけました。 しかし、他にももっと効率の良い方法や、どこかからツールをダウンロードして洗い出しができるであるとか、何かあったら教えてもらいたいです。 お願いします。

  • ACCESS97 レポート。フォームが作れません

    ACCESS97で作成されたファイルのレポート。フォームが編集、新規作成ができません。 テーブル、クエリ、マクロはできます。 データベースウィンドゥのフォーム、レポートから 新規作成、編集ボタンが押せない状態になってます。 権限やセキュリティで引っかかっているのかと思って、【ツール】下の機能を見たのですが。 関係なさそうな気がします・・・・。 仕方ないので、必要なテーブルやクエリを別ファイルにインポートして、そちらで レポートを作成しています。 元データのファイルに組み込みたいのですが、やり方を教えてください・・・。

  • ACCESS2000 クエリをテーブル化するマクロ(VBA)おしえてください

    こんにちは。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1801262 の質問者です。コレの続きを教えてください。 まとめますと、クロス集計クエリや、ユニオンクエリをそのまま扱うと、データや計算式がからまってエラーになったり、処理が遅かったりするので、テーブル化してからいじりたいのです。 マクロは データベース変換 変換の種類…インポート データベースの種類…MS ACCESS データベース名…L:\パス\パス\ファイル名.MDB オブジェクトの種類…クエリ オブジェクト名…クエリ名 変換先名…テーブル名 テーブル構造のみ変換…いいえ としてみましたが、クエリとしてインポートされてしまいます。 いちどCSVか何かでエクスポートしてから、テキスト変換するという手もありますが、もっとスマートな方法がありましたら教えてください。 VBA も勉強中なので、VBAでお答えいただいてもけっこうです。 よろしくお願いします。

  • アクセスのクエリを開く前にマクロを実行できますか?

    フォームやレポートを開く前にマクロを実行できますが、同様のことをクエリを開く前にもする方法はないでしょうか? 具体的には、いくつかのテーブル作成クエリと追加クエリをまとめて行うマクロを実行してから、選択クエリを開きたいのです。 「SQLビューで1行加えるだけ」みたいなのができると助かります。 よろしくお願いします。

  • テーブル1にマクロで再クエリはできないのか?

    テーブル1があり、 マクロの新規作成で アクション:再クエリ コントロール名:テーブル1 を作り、 テーブル1を開き、マクロ1を実行しても 「コマンドまたはアクション'再クエリ’は無効です。」 となります。 コントロール名を"テーブル1" にしても同じです。 テーブルに対して再クエリは出来ないのでしょうか?アクセス2003です。 よろしくお願い致します。

  • アクセスVBAでテーブル作成クエリを作れる?

    アクセス97です。 テーブル作成クエリで 他のmdbに テーブルを作成してるのですが 他のmdbのフルパスが固定でなく可変です。 テーブル作成クエリの 他のデータベース名を VBAで変更出来るでしょうか? もしくは VBAでテーブル作成クエリを 作成出来るでしょうか?

  • Access97をAccess2002にするには

    Access97で作成したmdb(オブジェクトは、テーブル(リンクテーブル有り)、クエリ、フォーム、レポート、マクロ(AutoExecのみ)、モジュールを使用)をAccess2002へ移行させようと思うのですが、単純に[ツール]→[データベースユーティリティ]→[データベースの変換]で良いものでしょうか。 もし、何か気をつけなければならないこと、やらなければならないこと等、または変換方法等をご教授いただけないでしょうか。

  • Accessのマクロ。

    Access(テーブル クエリーのみ フォーム、レポートは持ってません) のデータベース(入力は別ソフトから行っています)で、 テーブルの内容が更新時にテキストファイルを書き出すようにしたく、 マクロを使ってどうにかならないか考えているのですが、 「条件」がうまくつけられません。別にマクロでなくAccessVBAでも いいのですが・・・・。 ご存知でしたら是非お教えください。

  • Accessのクエリのテーブルの表示について

    Accessで、デザインビューからクエリを作成するときに テーブルを表示させると、フィールド名の一覧の一番上に *(アスタリスク)がありますよね?あれってどのようなとき使うんですか?

  • ACCESS テーブル作成クエリ

    ACCESS2000で、別のデータベースAのテーブルを定期的に最新のものにするために、データベースBにテーブル作成クエリを作成します。Aを開くときにはパスワードが設定されているので、テーブル作成クエリでそのパスワードの入力を求められるため、正しく入力して実行するのですが、パスワードが正しくありませんとエラーになってしまいます。 Aのパスワードを解除して実行すればテーブルが作成できますが、パスワードを解除しないで作成する方法はないでしょうか。

専門家に質問してみよう