- ベストアンサー
Access2000 表形式でのボタン表示・非表示
似たような質問は見つけたのですが、問題解決出来ませんでしたので質問させていただきます。 Access2000でフォームを表形式で作成しました。 テーブルの値が「0」なら表のボタンを表示しない。 テーブルの値が「1」以上ならボタンを表示する。 上記のような仕組みを作成しています。 テキストボックスを重ねる方法を見つけ、トライしてみましたがうまくいきません。 Accessに詳しい方がいらっしゃいましたら、ご教授のほどよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>フォームを表形式で作成しました >テーブルの値が「0」なら表のボタンを表示しない。テーブルの値が「1」以上ならボタンを表示する 表形式のフォーム上にボタンを配置して表示・非表示を切り替えるのは難しいですね。 表形式でボタンを配置すると表示される行の全てのボタンは同じ名前なのでフォームのレコード移動時などのイベントやコントロールの更新後処理のイベントに If フィールド名 = 0 Then Me.ボタン名.Visible = False Else Me.ボタン名.Visible = True End If としてもフォーカスのあるレコードの0か1以上の値で全てのボタンは表示されたり非表示になったりと同じ動作をしてしまいます。例えば5行レコードが表示されているとしてフォーカスが最初のレコードにあり参照するフィールドの値が0であれば5行のボタンは非表示になり他行のレコードに移動した際に参照しているフィールドの値が1以上なら5行全てのボタンが表示されるということです。 単票フォームなら可能です。 >テキストボックスを重ねる方法を見つけ、トライしてみましたがうまくいきません テキストボックスを使用してどのように処理したか不明ですが・・。 例えば参照するフィールドを[数値]としてテキストボックスをText1とした場合。 Text1のコントロールソースに =IIf([数値]=0,"No","Yes") とすれば0の場合Text1にはNo、0以外ならYesと表示されますがこの様な感じなのでしょうか?
その他の回答 (3)
- CHRONOS_0
- ベストアンサー率54% (457/838)
テキストボックスを重ねるのではなく テキストボックスそのものをボタン代わりに使用すればいいのでは 立体表示を浮き出しにし 条件付き書式で >テーブルの値が「0」なら 無効になるようにしておけば、表示はされますが フォームの色でで塗りつぶされたものになり クリックしてもイベントは起こりません
お礼
画期的な方法ですね! テキストボックスを浮き出しにすればクリックしやすいでしょうし。 ボタンとしてのアクションはのぞめないですけど、下の方法で出来なかったら試してみたいと思います。 ありがとうございます。
表形式ということは、複数のレコードの複数の列がExcel風に並んでいると推察します。 さて、「テーブルの値」ということですが、テーブルには値という概念はありません。 ということは、列1、列2・・・列Nの中の列Xの値が0ないし1ということでしょうか? ならば、列Xの型は、Yes/No型でしょうか? 次に、ボタンを表示するというのも理解出来ません。 列Xを視覚的に表示しようと、0に対応するTextBox1、1に対応するTextBox2を用意して、どちらかを選択的に表示しようとしているのでしょうか> 質問者は、この非表示、表示の設定を、どのタイミング、もっと言えば、どういうイベントプロシージャに記述していいか判らないので困っているのですか? まあ、こういう疑問に答えてくれないと回答のしようがありません。
お礼
わかりにくい説明ですいませんでした・・・。 テーブルにエラー件数の列があり 0件 2件 5件 0件 1件 ・ ・ ・ 上記テーブルの値で「0件」ならデータ補正ボタンを表示しない。(エラーが無いから) 「1件」以上ならボタンを表示する(エラーを補正するため) というものを作成しようと思ったのです。
- Miuccia
- ベストアンサー率46% (28/60)
こんにちは。 テーブルの値はどうやってもってくるんでしょうか。 常に1件しかないのであれば、DLOOKUP(フィールド名,テーブル名)でひっぱってこれると思います。 ひっぱってこれたら、どっかのイベントの中に、下の文を書き込めばいいと思います。 if テーブルの値 = 0 then me.ボタン名.visible=False else me.ボタン名.visible=True end if
お礼
ご教授ありがとうございます。 実はmiucciaさんの方法を私も最初はとっていたのですが ボタンはレコードソースと非連結なのでボタンが消えるとすべてのボタンが消えてしまうのです。 親切なアドバイスありがとうございます。
お礼
おお、上記の方法、すごい参考になります! 早速やってみます。ありがとうございます。