|
サブフォーム(c)のレコードソースは発注テーブルそのものですよね?
先にサブフォーム化するためのサブフォーム(c)を作成しましょう。
発注テーブルを元に「単票」か「帳票」で作成してください。
ヘッダ/フッダーを表示し何れかにコマンドボタンを作成してください。
※コマンドボタン作成はウィザードが動きますので最初ダイアログで
キャンセルすれば「コマンド**」の空ボタンができます。
コマンドボタンは空のままで結構ですが
課題:更新
名前:cmbUP
としておきましょう
適当にメインフォーム(a)に先程のサブフォーム(c)を配置してください。
メインフォーム(a)をデザインビューからフォームビューにするとサブフォーム(c)
にすべてのレコードが表示されます。
次にサブフォーム(c)のレコードソースを「発注テーブル」から
SELECT 発注テーブル.*
FROM 発注テーブル
WHERE (((発注テーブル.発注年月日)=[Forms]![メインフォーム(a)名]![サブフォーム(b)].[Form]![発注年月日]));
と書き換えてください。
これでサブフォーム(b)を抽出条件としてたレコードのみを表示するようになります。
私が提示した案の操作は
1.メインフォーム(aフォーム)で検索年(数値)、検索月(数値)を入力
2.サブフォーム(b)がリストアップされます。
ここまではできていますよね?
サブフォーム(b)内の「発注年月日」のフォーカス取得時のイベントにコードで
Me.Parent!サブフォーム(c)名.Requery
としてください。
※サブフォーム(b)の「発注年月日」にフォーカスが移動したときに自分(Me)の
上階層(メインフォーム(a))にあるサブフォーム(c)をリクエリします。
最後にサブフォーム(c)にある更新コマンドボタンに息をいれます。
クリック時のイベントにコードで
Me.Parent!サブフォーム(b).Requery
としてください。
※この処理でサブフォーム(c)内の更新されたレコードがサブフォーム(b)に反映されます。
最後にここで「サブフォーム(b)」「サブフォーム(c)」と書いているのは
メインフォーム(a)上のコントロール名です。
フォームとしてのオブジェクト名でないことに注意してください。
コントロール名はメインフォーム(a)をデザインビュー確認してください。
|
|