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さん、ありがとうございました。
これまでは「フォーム」に関する質問で、今回は「レポート」に関するものに進んできましたので、新規の質問にしたほうがよいとのアドバイスを受け、この質問を立ち上げます。
なお、「今ここまでできている」という部分は、補足に記述します。
どうぞよろしくお願いします。
お礼
上記通りではありませんが、上記をヒントにやってみたところ問題なく表示するようになりました。 ありがとうございました。