Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Access 2010)
Form上で特定のtxtボックスを表示or非表示させたい
投稿日時: 18/12/04 09:26:44
投稿者: ringomaru

以下のプロシージャをフォーム上で実行させたい。
フォームを開いたときに300件ほどの園児名を[txt園児氏名]に読み込むのだが以下の2名(兄弟)だけは[txtまつぞえ]のほうに表示させたい。レポート上では「詳細」に記述してうまくいったのだが、フォーム上ではどこに記述すればいいのでしょうか。
 
If Me.txtふりがな.Value="まつぞえ りな" Or Me.txtふりがな.Value="まつぞえ しょう" Then
   Me.txt園児氏名.Visible=False
   Me.txtまつぞえ.Visible=True
 
Else
 
   Me.txt園児氏名.Visible=True
   Me.txtまつぞえ.Visible=False
 
End If
 

回答
投稿日時: 18/12/04 10:35:39
投稿者: hatena
投稿者のウェブサイトに移動

単票フォームならそのコードをレコード移動時に記述すればいいでしょう。
 
帳票フォームでは、レコード毎に可視プロパティを変更することは無理なので、テキストボックスを非表示にはできません。
 
データの表示を変更するのなら各テキストボックスのコントロールソースに下記の式を設定してください。
 
txtふりがな
=IIf([園児氏名] In ("まつぞえ りな","まつぞえ しょう"),"",[園児氏名])
 
txtまつぞえ
=IIftxt([園児氏名] In ("まつぞえ りな","まつぞえ しょう"),[園児氏名],"")
 
ただし、このテキストボックスで入力はできません。

回答
投稿日時: 18/12/04 13:01:02
投稿者: Suzu

VBAでは無理ですが、
条件付き書式で、条件に合致したら、フォントを背景色と同じにする
 
では、対応できませんか?

投稿日時: 18/12/05 09:17:00
投稿者: ringomaru

hatena様
 
できました。ありがとうございました。2日間アタマを悩ませておりました。
 
>帳票フォームでは、レコード毎に可視プロパティを変更することは無理なので、テキストボックスを非表示にはできません。
 
まさに「帳票フォーム」でした。
 
>データの表示を変更するのなら各テキストボックスのコントロールソースに下記の式を設定してください。
 
>txtふりがな
>=IIf([園児氏名] In ("まつぞえ りな","まつぞえ しょう"),"",[園児氏名])
 
>txtまつぞえ
>=IIftxt([園児氏名] In ("まつぞえ りな","まつぞえ しょう"),[園児氏名],"")
 
>ただし、このテキストボックスで入力はできません。
 
もともと単に印刷用にプレビューするのが目的なので入力の必要はありませんでした。