Access2002で任意のレコードのみをレポートで印刷したい
http://oshiete1.goo.ne.jp/qa5272888.html
の続きです。
テーブルは下記のとおりです。(計4つ)
1.顧客テーブル(データ投入済み)
・顧客ID(テキスト)
・顧客名(テキスト)
・フリガナ(テキスト)
2.納品書テーブル(データはフォームから自動生成)
・納品書ID(オートナンバー)
・納品日付(日付)
・顧客ID(テキスト)
3.注文テーブル(データ投入済み)
・注文ID(テキスト)
・顧客ID(テキスト)
・納品書ID(テキスト)
・数量(数値)
・摘要(テキスト)
・選択(Yes/No)
4.商品マスター(データ投入済み)
・商品ID(テキスト)
・商品名(テキスト)
・単価(数値)
以上の4つのテーブルでテストDBを作っています。
上述したとおり、フォームで、
1.新規レコードの作製
2.納品日付入力
3.コンボボックス(従業員名、カナ)をコンボボックスで選択
という手順を踏み、納品書番号が自動的に振られるフォームまで作成できました。
これを元に、レポートとして、
・顧客を選択
・納品書番号を選択
して、選択したレコードをレポートに表示したい、という質問です。
前の質問で、下記ご回答を得ております。
---------------------------------------------------------------
1.納品書の一覧
以前作成した「納品書番号」のレコードソースを
SELECT 納品書テーブル.納品書ID, 納品書テーブル.納品日付, 納品書テーブル.顧客ID
FROM 納品書テーブル
ORDER BY 納品書テーブル.納品書ID DESC;
に変更して、新しいものが先に見えるようにします
2.フォームのプロパティで「データ」の「追加の許可」を「いいえ」にします。
3.ウィザードが起動したら「フォームの操作」「フォームを開く」と進み、「納品書番号(選択)」を開くようにします。これでいつでも新規納品書を作成できます
4.「納品書番号」フォームのイベントで「アクティブ時」を「[イベント プロシージャ]」にし編集ボタン(…)を押して、以下のようにします
Private Sub Form_Activate()
Me.Requery
End Sub
これで新規納品書作成後に「納品書番号(選択)」を閉じると、最新の納品書が表示されます
5.レポート「納品書」の作成
レコードソースは
SELECT 納品書テーブル.納品書ID, 納品書テーブル.納品日付, 従業員マスタ.従業員名
FROM 従業員マスタ INNER JOIN 納品書テーブル ON 従業員マスタ.従業員ID = 納品書テーブル.顧客ID
WHERE (((納品書テーブル.納品書ID)=[Forms]![納品書番号]![納品書ID]));
6.レポートにフィールドリストから「納品書ID」「従業員名」などを貼り付けます
7.「納品書番号」をデザインモードで開き、ボタンを追加し「納品書」レポートをプレビューで開くようにします。これで任意の納品書が印刷できるようになります
8.実際のレポートは納品書番号に対応するアイテムが並ぶ必要がありますが、これはレコードソース(クエリ)を拡張することでもできるし、親子レポートにすることでも可能です。色々試してください
---------------------------------------------------------------
fuuten_no_nekoさん、ありがとうございました。
これまでは「フォーム」に関する質問で、今回は「レポート」に関するものに進んできましたので、新規の質問にしたほうがよいとのアドバイスを受け、この質問を立ち上げます。
なお、「今ここまでできている」という部分は、補足に記述します。
どうぞよろしくお願いします。
お礼
思っていたとおりの資料が作れました。 本当にどうもありがとうございました。