• ベストアンサー

Access ファイルの整理

集計内容が複雑で色々な結果を出さないといけないデータベースを扱っています。 これをAccessで作ることになったのですが、クエリからでた計算結果の二重計算、 三重計算などをするので、ファイル数が膨大になっていきます。特にクエリの量が多いです。 種類ごとのフォルダ整理が出来れば便利なのですが、 その様な機能はないようなので、ファイル名で区別するしかありません。 皆様はどの様な仕分けをしていますか? 参考までに教えていただけると助かります。

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

  • ベストアンサー
noname#140971
noname#140971
回答No.5

補足: システム構築の要領ですが、テーブル定義書とクエリ定義書とをメモ帳等で作成する段階を最優先するというのも考え方の一つです。 この場合、この二つの定義書が完成するまではAccessを起動しての作業には着手する必要はほとんどないかも知れません。 更に、システムをバックエンドとフロントエンドに分割するとします。 当然のことながら、バックエンドは、テーブル定義書に基づいて一気に作成します。 こうすれば、dbの設計書を残すことが容易です。 クエリは、フォーム及びレポートの起動時に外部ファイルから読み込んでも瞬時のことです。 クエリとして表に出す数を少なくするには有効な手法だと思います。 ' ------------------------------------------------------------ ' ' QueryForForms.txt: Last update 2008/02/02 By XXXXXX ' ' ------------------------------------------------------------ [form name1] Select * from tab1; [form name2] Select * from tab2; それぞれのフォームでは、次のように仕掛けます。 Private Sub Form_Load() Me.RecordSource = ReadeMyQuery(Currentpriject.Path & "\Query\QueryForForms.txt", Me.Caption) End Sub レポート関連のクエリも同様です。 このような仕組みですとフロントエンドはクエリ定義書と共に配布することも可能です。 フロントエンドはMDE形式で配布して高速処理を実現すると良いと思います。 この場合、フォームやレポートの設計書も残すことになり一石二鳥です。 少し、説明不足でしたので補足しておきます。

sskj
質問者

お礼

内容は大まかに理解できましたが、少し私には難しいです。 SQLをまともにやっていないので(ユニオンクエリで使用する程度) 定義書をまともに作るのに時間がかかります。 補足までわざわざ、ありがとうございました。 今後の参考にさせて頂きます。

その他の回答 (4)

  • PPancho
  • ベストアンサー率27% (26/96)
回答No.4

回答になっているか分かりませんが、1回限りの使用でクエリーを 無駄に増やしたくないのであれば下記の方法があります。 (1)検索条件を作成するための画面フォームを作成して、レコード ソースとなるテーブル・クエリー(ここは1つなるようにしたほうが 簡単です)を選択させたり、抽出条件を選択・入力できる ようにしたり、ソート順などを指定できるようにします。 画面フォームのOKボタンを押下した際のアクションとして VBAプログラムを作成して、実際にクエリーで使うSQL 問い合わせ文を動的に自動生成し、クエリーのSQL文を都度動的に 書き換える。 (2)もしくはクエリーを表示する画面を用意して、その画面表示時に 検索画面の条件で指定したフィルター機能をつかって検索結果を 表示させることもできます。

sskj
質問者

お礼

VBAはまだやっていない分野で、今作成中のデータベースでの使用は難しいです。 今後の参考にさせて頂きます。 ありがとうございました。

  • korolo
  • ベストアンサー率42% (39/92)
回答No.3

クエリーの一覧は自動ソートになっているので、大分類ごと名前の頭に「●」や「■」等の記号を入れ、小分類で「丸囲み数字」を入れたりしています。

sskj
質問者

お礼

ありがとうございます。 参考にさせていただきます。

回答No.2

こんにちは。 どのような集計をアクセスで作っているのかわからないので、 ちょっと的外れかもしれませんが。 例えば、 集計する条件に日付を直接指定してクエリを作っているのであれば、 フォームなどを利用して、日付をフォームで指定してクエリを実行するようにすれば、日付ごとにクエリを作らなくて済むので、数減りますよね。 部署とかでも同様です。 質問者様がVBAに抵抗がないのであれば、VBAもオススメです。

参考URL:
http://www.serpress.co.jp/access/vba005.html
sskj
質問者

補足

フォームでパーセントを入力→クエリで金額に計算し直す→それをクエリで新規テーブルに変換→それをクエリに変換し編集→それを新規テーブル変換→それをさらにクエリで編集→・・・・ とこんな感じで少し意味あいが違います。 >集計する条件に日付を直接指定してクエリを作っているのであれば、 フォームなどを利用して、日付をフォームで指定してクエリを実行するようにすれば、日付ごとにクエリを作らなくて済むので、数減りますよね。 部署とかでも同様です。 抽出条件を変えて結果を出すのは良いですが、条件が多いので一括で出してエクセルで編集しています。

noname#140971
noname#140971
回答No.1

クエリの定義書をメモ帳で作成。 別にクエリはAccessに登録すなきゃならない訳じゃないです。

関連するQ&A