
OS:Windows XP
Access Version: ACCESS 2000
ACCESSを利用して一日の時間外を計算するフォームを作成しています。
> 16 金 4:00
> 17 土 3:00
> 18 日 2:00
> というような感じで時間を入力するのですが、曜日に特徴をつけて誤った入力をしないように、曜日が日曜日の時だけそのレコードの背景色を変更したいのです。よく、レポートで背景色を交互に変更するというやりかたをみてそれを行う方法はわかるのですが、それとおなじよなことをフォームでしたいのです。どうかお願いします!!ちなみにVBAはある程度わかりますのでVBAを利用した方法でもかまいません。
No.1ベストアンサー
- 回答日時:
帳票形式の場合ですが(多分データシートビューのフォームでも行けるとは思いますが)・・・
例えばですが、次のようにしてやると、できます。
(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]=[連番]
ただし、あまり色がつく行が増えると、フォームの
動作が遅くなるかもしれません。
お望みの機能でなかったらごめんなさい。
No.2
- 回答日時:
条件付書式ですぐできますよ。
> 18 日 2:00
これが、
txt_日付 txt_曜日 txt_時間
というかたちで並んでいる、と仮定して。。。
デザインの状態で
txt_日付 txt_曜日 txt_時間 を選択し、
[書式]→[条件付き書式]
条件は「式」を選択し、
式を入力するところに「trim(txt_曜日) = "日"」と入力し、
あとはそのすぐ下の「条件が真のときに使用する書式」のところで
好きな背景色を選択してみてください。
「日曜日の場合は背景色が変わる」ということになるかと思います。
ちなみに「条件2」とかで他のの場合の条件を指定すれば、
土曜日とか祝日の場合にも対応できると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
Access サブフォームでの選択行の取得
その他(データベース)
-
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
4
ACCESSで条件によってフォーム上のフィールドの色を変更
Access(アクセス)
-
5
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
6
Accessのフォームのみ表示させたい
Access(アクセス)
-
7
メインフォームからサブフォームの背景色を変えたい。
その他(プログラミング・Web制作)
-
8
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
9
【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには
Access(アクセス)
-
10
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
11
ACCESSのサブフォームからメインフォームへの移動
Access(アクセス)
-
12
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
13
新規レコード行を非表示にしたい
Access(アクセス)
-
14
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
15
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
16
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
17
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
18
どこにもフォーカスを当てたくない
Access(アクセス)
-
19
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
20
アクセスでレコードの内容が変更されたかどうかを調べるには
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
アクセスでテーブルの変更内容...
-
5
Access 別フォームへの再クエ...
-
6
ACCESSで入力フォームをHTMLフ...
-
7
Access runtimeでテーブル、ク...
-
8
accessの自動更新処理をできな...
-
9
ACCESSのフォームからデータの...
-
10
テキストボックスの値をテーブ...
-
11
アクセス 0以外をカウントす...
-
12
Access2000 テキストボックス...
-
13
他フォームのチェックボックス...
-
14
ACCESSで、フォームのレコード...
-
15
帳票フォームに全レコードを表...
-
16
ACCESSでテーブルから選択,表示...
-
17
入力途中の入力した値をすべて...
-
18
Accessのフォームに表示...
-
19
Accessフォームのテキストボッ...
-
20
写真入りデータベースの作成
おすすめ情報
公式facebook
公式twitter