重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

皆様はどの様な仕分けをしていますか?
参考までに教えていただけると助かります。

A 回答 (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形式で配布して高速処理を実現すると良いと思います。
この場合、フォームやレポートの設計書も残すことになり一石二鳥です。

少し、説明不足でしたので補足しておきます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/02/04 09:32

回答になっているか分かりませんが、1回限りの使用でクエリーを


無駄に増やしたくないのであれば下記の方法があります。

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

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

お礼日時:2008/02/04 09:20

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2008/02/04 09:09

こんにちは。



どのような集計をアクセスで作っているのかわからないので、
ちょっと的外れかもしれませんが。

例えば、
集計する条件に日付を直接指定してクエリを作っているのであれば、
フォームなどを利用して、日付をフォームで指定してクエリを実行するようにすれば、日付ごとにクエリを作らなくて済むので、数減りますよね。
部署とかでも同様です。


質問者様がVBAに抵抗がないのであれば、VBAもオススメです。

参考URL:http://www.serpress.co.jp/access/vba005.html

この回答への補足

フォームでパーセントを入力→クエリで金額に計算し直す→それをクエリで新規テーブルに変換→それをクエリに変換し編集→それを新規テーブル変換→それをさらにクエリで編集→・・・・

とこんな感じで少し意味あいが違います。

>集計する条件に日付を直接指定してクエリを作っているのであれば、
フォームなどを利用して、日付をフォームで指定してクエリを実行するようにすれば、日付ごとにクエリを作らなくて済むので、数減りますよね。
部署とかでも同様です。

抽出条件を変えて結果を出すのは良いですが、条件が多いので一括で出してエクセルで編集しています。

補足日時:2008/02/04 09:08
    • good
    • 0

クエリの定義書をメモ帳で作成。


別にクエリはAccessに登録すなきゃならない訳じゃないです。
    • good
    • 0

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