- 締切済み
アクセスVBについて
メインフォームA(非連結) F_main上に コマンドボタンA cmd_AとサブフォームB(クエリに連結しておりメインフォームAとリンクはなし) sbf_Bがあります。 sbf_Bには連結したクエリのフィールドに対応するコンボボックスやテキストボックス が配置されフォームフッターには合計金額等sbf_Bのレコードのフィールドの合計を 表示するテキストボックス txt_total に演算式 (=sum([field])) と 同様にsbf_Bのレコードに対してフィルタを実行するドグルボタン dgl_filterがあります。 F_main.cmd_Aをくりっくすると サブフォーム上のtxt_totalの値を取得する。 その際にsbf_Bのフィルタが実行状態(dgl_filterが押された状態)の場合は 強制的に外してtxt_totalの値を取得したい。 以下のコードで実行すると..... ************************************ メインフォーム上のコマンドボタンAをクリック Private Sub cmd_A_Click() モジュールA.プロシージャA End Sub ************************ ***************************** sub プロシージャA dim myTotal as long rem サブフォームBのフィルタ解除して値を取得 with forms("F_main").sbf_B.Form .FilterOn=false .dgl_filter.value=0 myTotal=.txt_total end with msgbox myTotal end sub **************************** 実際の振る舞い dgl_filterが押されていない状態でcmd_Aをクリックすると メッセージボックスは値を取得するが dgl_filterが押されているとメッセージボックスの値が空白になる こうした動きになる理由を教えてほしかったのですが 分る方いるでしょうか? フィルタをオンオフ直後に値が取得できない理由 もしくは理由はなくそういった仕様なのか? 補足 あっアクセス2002です。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chie65536(@chie65535)
- ベストアンサー率44% (8812/19983)