みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

(ACCESS)条件に応じて、テキストボックスを表示・非表示設定

(ACCESS)条件に応じて、テキストボックスを表示・非表示設定

フォーム上のテキストボックスAを条件に応じて表示・非表示にさせたいです。


条件は、サブフォームのテキストボックスBに「支払」を言う文字があれば、
テキストボックスAが表示され、なければ非表示にする方法が探しています。

わからないなりに調べて、多分以下の文章になると思いますが、「?」の条件式がうまくいきません

Private Sub AA_GotFocus()
If  ????? Then
Me!テキストボックスA.Visible = False
Else
Me!テキストボックスA.Visible = True
End If
End Sub


どなたか教えてください。
宜しくお願い致します。

投稿日時 - 2010-07-16 09:42:31

QNo.6042004

困ってます

質問者が選んだベストアンサー

訂正。(2)のところで、

Private Sub t1_GotFocus()
If Forms!フォーム名!ctlサブフォーム名!テキストボックスB Like "*" & "支払" & "*" Then

になっていましたが、


Private Sub t1_GotFocus()

を、

Private Sub AA_GotFocus()

としてください。書き間違いです。

投稿日時 - 2010-07-16 18:04:07

お礼

ありがとうございました。
なんとかできました。

投稿日時 - 2010-07-26 18:01:40

このQ&Aは役に立ちましたか?

6人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

(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

投稿日時 - 2010-07-16 13:43:20

ANo.1

テキストボックスAがメインフォームにあり
テキストボックスBがサブフォームにあって
その値が「支払」である
(「ほにゃ支払らら・・」などの余計な文字は含んでいないとします)

フォーカス取得後イベントではなく
サブフォームのレコード移動時イベントに加えてみてください。

Forms!メインフォーム名!テキストボックスA名.Visible = Forms!メインフォーム名!サブフォーム名!テキストボックスB名 = "支払"

当方Acc2002です。

投稿日時 - 2010-07-16 11:38:19

あなたにオススメの質問