- ベストアンサー
ACCESS97のフォームについて
アクセス97のフォームについて教えてください。 前にも質問したのですが、アクセスのバージョンの記述を忘れていましたので 再度ご質問させていただきます。 DATAというテーブルがあります。DATAテーブルをフォームに以下のように表示したいと考えています ===================================================================== DATA選択画面 部門 日時 件数 区分 選択 ------------------------------- --- --- --- --- □ ←チェックボックス --- --- --- --- □ --- --- --- --- □ --- --- --- --- --- --- --- --- □ ------------------------------- ==================================================================== 区分が1のものは普通に表示して、区分が2のものは字の色を灰色にしたいと考えています --- の明細の部分(DATAテーブル)を順番に区分を判断しながらフォームに 表示していくということは可能でしょうか? ちなみにクエリオブジェクトは使用しないのが前提です。 SQLクエリはOKです。 アクセス2000であれば条件付き書式でこのようなことが可能だということは 分かっているのですが...97で出来るのでしょうか? かなり切羽詰っています。宜しくお願い致します
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
[部門][日時][件数]のフィールドの文字色を区分によって変えたいのであればその フィールドのコピーを作成して例えばText1・Text2・Text3とします。 [部門][日時][件数]の各フィールドのプロパティを開きデータのコントロールソースに =IIf([区分]=1,[部門],Null) と記述します。 [日時][件数]のフィールドは[部門]のところを各々[日時][件数] に変更してください。 そしてText1・Text2・Text3は =IIf([区分]=2,[部門],Null) と記述。Text2・3は[部門]を各々[日時][件数]に変更し書式の前景色を灰色にパレ ットから選択します。 [部門]にText1・[日時]にText2・[件数]にText3を重ねます。 [部門][日時][件数]のフィールドでエラーが表示されるようでしたら[部門][日時] [件数]を[部門1][日時1][件数1]のようにプロパティのその他かすべての項目にあ る名前をテーブルのフィールド名と同じではなく違う名前に変更するとエラーが回 避出来ます。 ただし区分が1と2の場合は表示されますがそれ以外は空白になってしまいますので Text1などコピーしたフィールドの記述を=IIf([区分]=2,[部門],Null)から =IIf([区分]<>1,[部門],Null)にすると区分1以外はすべて灰色の文字になるので それでよければ<>1にした方が良いかもしれませんので、その辺はご自分で変えて ください。区分が増えればその分同じ様にすれば何色も使えます。その分記述も 変わってきます。
その他の回答 (3)
- O_cyan
- ベストアンサー率59% (745/1260)
ARCさんから指摘がでましたが・・ >フィールド全体の色が変わってしまうように見えるはずです。 前景色のみ灰色などの色に変更するだけですからフィールド全体の色は変わりません。 色の変更は文字だけです。フィールドの背景色は変更しませんので。変更したければ 背景色をいじればいいだけの問題だと思うので。 ARCさんの指摘にあるようにフォームをデータシートで表示すれば無効ですが単票 フォームや帳票フォームでなら#2で記述した方法で可能です。 フォーム自体クライアント側のデータインターフェースとして使うとすれば見た目 で色が変わって見れる状態なら良いのではないかと思うのですが。
- ARC
- ベストアンサー率46% (643/1383)
連帳フォームやデータシートビューを使うのであれば、「無理」ですね。 #1, matubokkuriさんのご回答にせよ、#2, O_cyan(さん)のご回答にせよ、連帳フォーム上ではフィールド全体の色が変わってしまうように見えるはずです。 Access97においては、コントロールをレコードの数だけ貼り付けた「似非連帳フォーム」を無理やり作るか、あるいは、あきらめるしかないです。 #昔、これをやろうとして、あの手この手を散々試しました。(かなり無茶な方法も含めて) そのときに得たのが、上の回答です。どうしても試してみたければ止めはしませんが(^^;
テキスト枠を2つ作ります 1つは、iif(区分=1,表示したいデータ,null) で前景色は普通の色 もう1つは、iif(区分=1,null,表示したいデータ)で前景色は灰色 どちらとも透明にして、同じ場所に配置します。 そうすれば、どっちかだけ表示されますので、色が変わって見えます。 こんなんでどうでしょうか
お礼
ありがとうございました。なんとか実現することが出来ました。 97では出来ないと思っておりましたもので... テキストを2つ用意しておいて、条件に応じて、表示、非表示きりかえるやり方は 他にも応用できそうなので、これから使っていこうかと思います。 本当にありがとうございました。