プロが教えるわが家の防犯対策術!

アクセスのフォームのテ゛ータシートヒ゛ューで条件付書式を3つ以上やりたいのですがやはり無理でしょうか?
VBAなら可能でしょうか?
諦めるしかないですか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

表示形式が異なりますが、参考になると思います。



【帳票形式フォームで書式を 5 種類以上設定する方法】
http://www.f3.dion.ne.jp/~element/msaccess/AcTip …

※データシートビューでできるかは?です。
    • good
    • 0
この回答へのお礼

試してみます!
ありがとうございます。

お礼日時:2009/04/22 20:59

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QACCESSで、フォームのレコードごとに背景色変更

OS:Windows XP
Access Version: ACCESS 2000
ACCESSを利用して一日の時間外を計算するフォームを作成しています。
>   16 金 4:00
> 17 土 3:00
> 18 日 2:00
>  というような感じで時間を入力するのですが、曜日に特徴をつけて誤った入力をしないように、曜日が日曜日の時だけそのレコードの背景色を変更したいのです。よく、レポートで背景色を交互に変更するというやりかたをみてそれを行う方法はわかるのですが、それとおなじよなことをフォームでしたいのです。どうかお願いします!!ちなみにVBAはある程度わかりますのでVBAを利用した方法でもかまいません。

Aベストアンサー

帳票形式の場合ですが(多分データシートビューのフォームでも行けるとは思いますが)・・・
例えばですが、次のようにしてやると、できます。


(1)フォームヘッダー(もしくは詳細セクション)に、「txtID」という名前の
非連結テキストボックスを配置。「可視」プロパティは「いいえ」。
これには、真のIDフィールド(例えば連番フィールドや主キーフィールド)の値を
レコード移動時に転記します。(言わばダミーのテキストボックス)

(2)フォームのレコード移動時のイベントプロシージャを下記の様に
記述します。
サブフォームでやりたいなら、サブフォームのレコード移動時イベントに
記述します。

Private Sub Form_Current()

'真のIDフィールドの値を[txtId]へ代入。
  Me!txtID = Me!真のIDフィールドの名前(例えば連番フィールドや主キーフィールドと連結したテキストボックスの名前)

End Sub



(3)詳細セクション上にある、色変えしたいすべてのテキストボックスを一括選択して、
[書式][条件付き書式]で、条件付の書式設定をします。

条件(1)で、まず ドロップダウンリストから 「 式 」を選び、
その右の条件内容を

[txtID]=[フォームに配置した真のIDフィールドの名前(連結テキストボックス名)]

とします。

そして、背景色を白や透明以外に設定します。

以上

ダミーの非連結テキストボックスは、詳細セクションに置いてもOKですが、
その場合、速度を多少でもアップさせたいならフォームヘッダーに
配置する方がいいのかもしれません。(あんましかわらないかもしれないが)

※※
なお、もし選択した行だけを色変えしたい条件も同時に設定する場合は
カレントレコード色変えの条件を後に(条件(2)に)設定します。

【例】
条件(1)・・・「 式 」、[選択状態]=[選択フラグ] ←選択行だけを色変えする条件
条件(2)・・・「 式 」、[txtID]=[連番]


ただし、あまり色がつく行が増えると、フォームの
動作が遅くなるかもしれません。


お望みの機能でなかったらごめんなさい。

帳票形式の場合ですが(多分データシートビューのフォームでも行けるとは思いますが)・・・
例えばですが、次のようにしてやると、できます。


(1)フォームヘッダー(もしくは詳細セクション)に、「txtID」という名前の
非連結テキストボックスを配置。「可視」プロパティは「いいえ」。
これには、真のIDフィールド(例えば連番フィールドや主キーフィールド)の値を
レコード移動時に転記します。(言わばダミーのテキストボックス)

(2)フォームのレコード移動時のイベントプロシージャを下...続きを読む

QACCESSで条件によってフォーム上のフィールドの色を変更

一覧形式のフォームがあり、条件によって色を変更したいのですが、その条件というのが下記のような感じです。

フィールドA | フィールドB | フィールドC | チェックボックス
チェックボックスのチェックがあったら、フィールドA・B・Cの色をグレーにする。
チェックがなかったら白いまま。

というものです。
条件付書式だと、色を変更するフィールドそのもののデータを参照にしないといけないんですよね?
フォームオープンのところにVBAをかいてみたんですが、ひとつひとつは認識してないみたいで…。
どのようにすればいいのでしょうか?

よろしくお願いします。

Aベストアンサー

フォームのデザイン画面で3つのフィールドすべて選択し条件付書式画面を表示させる。
条件1のコンボで”式”を選択。
右側の欄に[チェックボックスのコントロール名]=True
と入力し、バケツアイコンでグレーを選択。
(もちろん1フィールドづつ設定してもOK)

Q4つ以上の条件付き書式

いつも何かとお世話になっています。<m(__)m>
Excel2002で、下記のような条件でセルを塗りつぶしたいのです。

セルの値がゼロなら、薄い黄色で塗りつぶし。
1~10なら青色。
11~20ならピンク。
21~30なら黄色。
90ならグレー。
98ならうすい青。

何とか条件付き書式で出来ないものかと考えたのですが、分かりませんでした...。
マクロとかになるのでしょうか??
何でもいいので、教えてください。よろしくお願いします。

Aベストアンサー

返答がきていたことに気が付きませんでした。
すべての投稿をチェックするのは大変なような気がするのですが、このサイトでは新しく投稿された場合にはどこかにマークのようなものが出るのでしょうか?

さて本論ですが、「既に出来上がっているシートの塗りつぶし作業」の場合は以下のマクロを標準モジュールに貼り付けて実行してみてください(以前のマクロコードとの違いに注目してください)。
 なお、対象範囲はA1:Z1000にしてみました。範囲を広げたい場合は適当にコードを修正してください。

標準モジュールに貼り付け方は、Alt+F11でVBEを起動し「挿入」「標準モジュール」で空白シートに以下のコードを貼り付けてください。

Sub sample()

Dim Target As Range
For Each Target In Range("A1:Z1000")
Select Case Target.Value
Case Is < 1
Target.Interior.ColorIndex = 0
Case Is < 10
Target.Interior.ColorIndex = 5
Case Is < 20
Target.Interior.ColorIndex = 7
Case Is < 30
Target.Interior.ColorIndex = 6
Case 90
Target.Interior.ColorIndex = 15
Case 98
Target.Interior.ColorIndex = 8
End Select
Next

End Sub

返答がきていたことに気が付きませんでした。
すべての投稿をチェックするのは大変なような気がするのですが、このサイトでは新しく投稿された場合にはどこかにマークのようなものが出るのでしょうか?

さて本論ですが、「既に出来上がっているシートの塗りつぶし作業」の場合は以下のマクロを標準モジュールに貼り付けて実行してみてください(以前のマクロコードとの違いに注目してください)。
 なお、対象範囲はA1:Z1000にしてみました。範囲を広げたい場合は適当にコードを修正してください。

標準...続きを読む

Qフォーム データシートビューで文字色を変えたい

テーブルをもとにデータシートビューのフォームを作成し、
フィールドの文字の色を全て灰色にしたいのですが
プロパティシートの書式で、[赤]@ にすると、画像のようにうまく行くのですが、
[灰色]@ にすると、 "[灰色]"@ となってしまい、データシートビューに切り替えると、
 [灰色]あ となってしまいます。

[gray]@ にしたら、なぜか、\[g"ra"y"]@" になり、
データシートビューにした時は、何も変化はありません。色は黒のままです。

ヘルプによると、
[色] 角かっこ内の色で表示します。
指定できる色は、Black/黒、Blue/青、Green/緑、Cyan/水、Red/赤、Magenta/紫、Yellow/黄、White/白です。

とのことなので、灰色にするのは諦めるしかないのでしょうか?
他の方法があればご教授ください。

Aベストアンサー

条件付書式の式に

Not IsNull([フィールド名])

として任意の色を選択したらどうなりますか?


人気Q&Aランキング