
Accessのフォームで以下のようなことを実現したいのですが、
1.テーブルAに以下のような情報を持たせる。
<テーブル名:A>
区分値 区分値名 分類
1 瓶(無色) 10
2 瓶(有色) 10
3 缶 30
2.選択クエリーを使い別のテーブル情報(テーブル名:B)をフォームにて表示させるが、
フォーム上で表示させる時に、テーブルAの区分値名を表示させる。
3.2の際にテーブル名:Aの分類が”30”だった場合、
フォーム上に設けたチェックボックスにグレーの色をつける。
いろいろな書籍等で調べているのですが、分かりません。
どなたかご教授頂けませんか?
No.2ベストアンサー
- 回答日時:
現状の詳細がわからないので、こちらの都合で説明します。
1. テーブルA を元にフォーム作成ウィザードで単票形式のフォームを作成
2. デザインモードで開き、添付図のように以下のコントロールを追加
テストなので非連結で良い
1)Checkbox コントロール 名前:chkSample
2)Label コントロール 名前:lblBackColor
この時、Label が最背面にくるようにする
3. VBE を開き、以下のソースをペーストする
' // フォームを開いた(ロード)したときのイベント
'
Private Sub Form_Load()
With Me.lblBackColor
' 適当に位置やサイズを変更
.Top = Me.chkSample.Top - 40
.Left = Me.chkSample.Left
.Width = Me.chkSample.Width
.Height = Me.chkSample.Height + 10
' キャプション消去
.Caption = ""
' 背景スタイルをノーマルにする
.BackStyle = 1 ' 1:Normal 0:Transparent
End With
End Sub
' // レコードが移動した時のイベント
'
Private Sub Form_Current()
Call ChangeBackColor
End Sub
' // 分類フィールドの値が変更されたときのイベント
'
Private Sub 分類_AfterUpdate()
Call ChangeBackColor
End Sub
' // ラベルの背景色を変更する
'
Private Sub ChangeBackColor()
Dim nColor As Long
If Val(Me.[分類].Value) = 30 Then
nColor = RGB(220, 220, 220)
Else
nColor = Me.詳細.BackColor
End If
Me.lblBackColor.BackColor = nColor
End Sub
'以上 ---------------------------------------------
なお、チェックボックスの四角内の背景色は変更できません。また、
スモールサンプルなので他に必要な処理は適当に追加して下さい。

再度のアドバイスありがとうございます。
実現可能であれば、チェックボックスの□内の背景色を変更させたかったのですが、できないのですね。
アドバイス頂いたように、ラベルに対して背景色を変更する方向で検討します。
サンプルまで作成して頂き、ありがとうございます。
大変感謝しております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESSで条件によってフォーム上のフィールドの色を変更
Access(アクセス)
-
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
Accessレポートのチェックボックスを大きくする方法
Access(アクセス)
-
-
4
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
-
5
ACCESS VBA;コマンドボックスでラベルの背景色を変えたいのですが
その他(データベース)
-
6
オプションボタンの背景を透明にしたい
その他(Microsoft Office)
-
7
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
8
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
9
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
10
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
11
2つ目のレコードの値を取得するには?
Access(アクセス)
-
12
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
13
ACCESSの時刻の引き算
Access(アクセス)
-
14
ACCESSのサブフォームからメインフォームへの移動
Access(アクセス)
-
15
【ACCESS2003】サブフォーム名を変数に入れたい
Visual Basic(VBA)
-
16
ACCESS フォームからサブフォームのデータを更新・入力したい
Access(アクセス)
-
17
Access VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
-
18
デフォルトでチェックボックスをオンにしたい。
その他(Microsoft Office)
-
19
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
20
Access で 特定の文字の個数をしりたい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インデックスまたは主キーにはn...
-
前のレコードの値を自動で入れたい
-
入力した値をコンボボックスに...
-
access別のテーブルを参照して...
-
Accessフォームが入力できません。
-
Access 自動入力の解除方法
-
エクセルで、抽出したデータだ...
-
Access サブフォームでの選択行...
-
Excel 文字列から6桁の数値の抽出
-
access サブフォームにリストを...
-
【AccessVBA】レコードセットOp...
-
未審査請求包袋抽出表作成とは...
-
別MDBのフォームを起動
-
accessのルックアップを階層表...
-
Accessで、一覧からクリックし...
-
X-Ripperというフリーウェアに...
-
Access2000、これはいったい・...
-
帳票フォームでのあるコンボボ...
-
アクセスでサブフォームのレコ...
-
Access コンボボックスの表示デ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
前のレコードの値を自動で入れたい
-
インデックスまたは主キーにはn...
-
入力した値をコンボボックスに...
-
Accessでデータを更新したらそ...
-
access別のテーブルを参照して...
-
Accessでフォームに自動入力し...
-
AccessVBAの値によっ...
-
アクセスでコードを入れると名...
-
アクセスで新規にレコードを追...
-
Accessフォーム上の値を条件と...
-
テキスト型のフィールドでハイ...
-
Accessで、最後(更新)にエラ...
-
「バリアント型でない変数に Nu...
-
Accessフォームが入力できません。
-
ACCESS フォームで入力データ...
-
助けてaccess!
-
ACCESSでフォームのチェックボ...
-
ACCESSの使用方法
-
accessのフォームを多数のPCで...
-
Access 検索フォームの作り方...
おすすめ情報