- ベストアンサー
フォーム上の条件に応じてテキストボックスを表示・非表示にする方法
- フォーム上のテキストボックスAを条件に応じて表示・非表示にさせたいです。
- 条件は、サブフォームのテキストボックスBに「支払」を言う文字があれば、テキストボックスAが表示され、なければ非表示にする方法が探しています。
- Private Sub AA_GotFocus()を使用し、If文で条件を判断し、Visibleプロパティを設定することで、テキストボックスを表示・非表示にすることができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
訂正。(2)のところで、 Private Sub t1_GotFocus() If Forms!フォーム名!ctlサブフォーム名!テキストボックスB Like "*" & "支払" & "*" Then になっていましたが、 Private Sub t1_GotFocus() を、 Private Sub AA_GotFocus() としてください。書き間違いです。
その他の回答 (2)
- piroin654
- ベストアンサー率75% (692/917)
(1)はテキストボックスBに「支払」という文字だけが 表示されている場合、(2)は「支払」という文字が含まれて いる場合です。 (1) Private Sub AA_GotFocus() If Forms!フォーム名!ctlサブフォーム名!テキストボックスB = "支払" Then 「ctlサブフォーム名」はメインフォームのサブフォームを 表示するコントロールの名前で作成時は「埋め込み0」などと 名前がついている部分です。直接、サブフォームの名前は 書きません。 サブフォームが帳票形式やデータシート形式の場合は サブフォームのカレントレコード、すなわち サブフォームの左の黒い三角のマークがついているレコードが 対象になります。単票形式の場合は表示されたレコードが カレントレコードです。 (2) 以下はテキストボックスBに「支払」という文字が含まれている場合 です。(1)と同様にカレントレコードに対してです。 Private Sub t1_GotFocus() If Forms!フォーム名!ctlサブフォーム名!テキストボックスB Like "*" & "支払" & "*" Then
- nicotinism
- ベストアンサー率70% (1019/1452)
テキストボックスAがメインフォームにあり テキストボックスBがサブフォームにあって その値が「支払」である (「ほにゃ支払らら・・」などの余計な文字は含んでいないとします) フォーカス取得後イベントではなく サブフォームのレコード移動時イベントに加えてみてください。 Forms!メインフォーム名!テキストボックスA名.Visible = Forms!メインフォーム名!サブフォーム名!テキストボックスB名 = "支払" 当方Acc2002です。
お礼
ありがとうございました。 なんとかできました。