以前にもここで質問させて頂きましたが、お寺の檀信徒管理のデータベースを作っています。
ある程度まで自力で作ってみたのですが分からない点が出てきて困っています。
・「氏名のよみがな」により、檀信徒名簿から「檀家ID」「氏名」「住所」等を表形式で
抽出するフォーム(A)を作りました。
・その抽出結果のフォームに「檀家ID」によって「過去帳テーブル」から「戒名」を抽出する
クエリを起動するボタンを作りました(マクロで)。
・「戒名を抽出するクエリ」に「檀家ID」をパラメータとして自分で手入力するようには
できました
・これを、「檀家を抽出するフォーム(A)」の抽出結果の中の「檀家ID」の数字を
自動的に「戒名を抽出するクエリ」のパラメータに入れてクエリを起動する、
という処理は可能でしょうか?
また、可能でしたらその方法を教えてください。
よろしくお願い致します。
>クエリを起動するボタンを作りました(マクロで)。
そのマクロの中身がわからないと改造したくても・・・
ただ・・・それよりも、もっと簡単な方法があります
(ボタンをクリックするだけでいきなり抽出できてしまう方法です)
(1)クエリで結果を表示する例
まずはクエリ(仮に「戒名一覧クエリ」と名づけます)を作ります
SELECT 檀家ID, 戒名 FROM 過去帳テーブル WHERE 檀家ID=forms![檀家を抽出するフォーム(A)].檀家ID;
次に檀家を抽出するフォーム(A)に新しいボタンを作ります
(ウィザードに従って、戒名一覧クエリを開くボタンを作ります)
以上で、クエリがフォームの檀家IDに従って、
必要なレコードだけを抽出してくれるようになります
(2)クエリを使わずに、別のフォームと連携させる例
まずは過去帳テーブルを表示するフォームを作ります
(特別な作業はありません。すべてのレコードを表示するように作ります)
次に檀家を抽出するフォーム(A)に新しいボタンを作ります
(ウィザードに従って、過去帳テーブルフォームを開くボタンを作る途中で、
「特定のレコードを表示する」を選んで、それぞれの檀家IDを結び付けます)
以上で、クエリを使わずにフォーム同士が自動的に連携して
必要なレコードだけを抽出してくれるようになります
こちらの方法はAccess入門関連の本にも書いてある基本技なので、
最初は(2)ではじめたほうがいいかもしれません
ありがとうございます!
2012/02/13 11:44:19(2)の方法で無事に望みをかなえられました。
ちなみに(1)はどんな操作をしているか良く分からない有様でした・・・。
ちなみにマクロの内容は「フォームを開く」だけの超簡単なものでした。
(1)のSQLの使い方については急いで覚える必要もないのですが、
知っていると使い勝手が格段に違ってくるので、軽く手順と説明を残しておきます
手順
1 .通常のクエリ作成手順からはじめると楽なので、
「ウィザードを使用してクエリを作成する」から始めます
2.「選択クエリウィザード」を選びます
3. 「過去帳テーブル」を選択して、
フィールドは「檀家ID」と「戒名」を選択する
4. クエリで集計を行うかどうかを訊いてきた場合には、
「各レコードのすべてのフィールドを表示する」を選択する
5.. クエリの名前の欄には「戒名一覧クエリ」を入力して、
「クエリのデザインを編集する」を選択します
6.抽出条件の欄に「forms![檀家を抽出するフォーム(A)].檀家ID」を入力します
以上です
2012/02/13 20:22:47回答のような形で入力したい場合や、
クエリの中身がどうなっているかを見てみたい場合は
6.の状態でメニューバーの「表示」にある「SQLビュー」を選択します
(他にも切り替える方法はありますが、文字だと説明が難しいので、
とりあえずメニューからにしておきます)
forms![檀家を抽出するフォーム(A)].檀家ID の意味は下記です
MDBに含まれる全てのフォームの中の
「檀家を抽出するフォーム(A)」の中の
檀家IDフィールドの値