プロが教える店舗&オフィスのセキュリティ対策術

生薬のデータベースを作っています。生薬の薬材料を主と部分に分けて管理しています。イチョウ(主)の葉(部分)や根(部分)、楓(主)の葉(部分)といった具合です。処方箋ではこのような色んな組み合わせが登場してきますので、それらの割合を統計しようと思っています。テーブルのリレーションは、処方箋ID、成分IDをさらに構成部分ID(主と部分)とリンクしたもの、そして薬材料名IDのあるテーブルです。クエリーで、成分IDのうち、指定した主が登場するものだけを出し、そのIDを使って、別のクエリで今度は指定した主以外、つまり、その主に使われている部分のみが出てるようにします。 それをさらにまた別のクエリでグループ・バイにして登場回数を見ています。 
この方法では3つもクエリーを使うし、主の条件も毎回手入力でしないといけないので、生薬名IDの主の部分のID番号だけを、ループ処理で自動にこの処理をして、エクセルに出力したいです。 
大まかな説明で分かりにくいですが、この作業のベース(もしくは参考)になるようなVBAを教えてもらいたいです。 ちなみにVBAは初めて2週間ほどの超初心者です。 よろしくご教授お願いします。

A 回答 (1件)

質問の要領に関する私見。


(1)専門領域的用語はなるべく、控える
   異業界、未経験分野の人は質問を読んでいて、用語に気をとられて
   コンピュター的な骨子に構成しにくい。
   恐れをなす人もいるかもしれない。
(2)テーブルやクエリが4つ以上も出てきて、どれをさしているか頭に入   れにくい。
今後もしご質問があれば、コンピュター的なモデル実例にでも置き換える工夫をお願いしたい。コンピュターの勉強はこれを伴うべきものです。
-------
質問内容ですが、アクセスの人間の(手で)の操作が、
沢山のケースを処理しなければならず、
面倒で時間がかかる、
間違いやすい場合、
それを解決するのは、VBAによる自動化しかないと思う。

クエリはつまるところSQL文の実行です。
SQL文は文字列であって、その文字列をプログラムの中で、システム関連の
SE・プログラマが文字列を作っています。SQLサーバーなどで開発していれば、検索やファイルの読み・書き込みはそういうケースばかりのようです。
アクセスでは「パラメータクエリ」で大きな話題ですが、SQL文が前面に出る・主体のシステムでは、”SELECT””FROM" ”WHERE"というような語句以外は変数(ただしSTRING型)で定義され、そのつど中身がプログラム実行時にセットされ、それらが&で結合し表現されているのが頻出します。実行のつど都合のよいSQL文が作成され、実行されます。
場合によってはINPUTBOXで必要なフィールド名を人間が答えて、織り込む
型も複雑さを避けるために必要かもしれない。
アクセスでも、
(1)SQL文を正面から作って実行するタイプの勉強と、それを実務で少しずつ増やして、手操作型から離れていく。
普通の操作によって処理するとき、アクセスが作るSQL文が非常に勉強に
なると思います。エクセルのマクロの記録に似て役立つでしょう。
(2)VBAの制御構造になれる。
のがよいと思います。
しかし理系の方かも知れませんが、しばらくこの件に読書や勉強を集中し、6ヶ月や1年は覚悟しておいたほうがよいかもしれない。
なんでも周りに聞ける人がないと難しいものです。
    • good
    • 0

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

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