

いつもここのサイトにはお世話になっています。
今回もよろしくお願いします。
Access2002と VBAを使用して、マスターテーブルのメンテナンスの画面を作成しています。
1フォームの構成は上部に入力欄があり、
下部にサブフォームで帳票フォーム形式でテーブルが表示してあります。
下部のテーブルでレコードをクリックすると、上部の入力欄にクリックした部分のレコード(サブフォームのカレント行)内容を表示し、上部の入力欄にてデータの変更/更新を行います。
みなさんに教えていただきたいのは、
下部のサブフォーム部分でクリックした際に、クリックしたレコードの部分だけ色反転させるなどして「目立たせたい」のですが、VBAなどで色の指定を変更しても、サブフォーム全体の色が変わってしまいます。
なんとかして、1目で「カレント行」と「それ以外」とわかるようにする方法はないでしょうか?
補足説明はしますのでなんなりと申し付けてください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
> クリックしたレコードの部分だけ色反転させるなどして
セクションの背景色ではありませんが、各コントロールの背景色であれば、
条件付書式で対応可能ですね。
どれかひとつのコントロールだけでいいのなら、条件付書式で
フォーカスのあるフィールド を選べばいいと思います。
セクションのコントロールすべてであれば、VBAを組み合わせればいいかな。
#その場合、一意となるキー(主キーとか)が必要になると思います。
ご回答ありがとうございました。
条件付書式はまったく考えていなかったので試したところ、なんとか選択行の色反転をさせることができました。
1.ダミーのテキストボックス[txtdummy]をフォームヘッダーに用意する。
2.選択時に選択行のキーが入ってるテキストボックス[txtkey]の値を[dummy]に入れる。
3.詳細のすべてのコントロールに条件書式にて式[txtkey]=[txtdummy] という条件で背景や文字色の書式を設定
という設定で成功しました。
多少画面がちらつきますが、「選択行色反転」という最低条件をクリアしてるので、当面はこちらで行きたいと思います。
※なにか、改善策がありましたらぜひとも教えてください。
No.1
- 回答日時:
カレント行だけに別の書式を設定するのは無理のような気がします。
で、代案ですが、
1.レコードセレクタを表示するとカレント行の一番左に三角が出るのでそれで我慢する。
2.フィールドを1つ追加して、選択されているレコードのそのフィールドに「★」あたりを入れてあげて、そのフィールドのフォントを赤にする。
センスのかけらもないですが。。。
頑張ってくださいヽ(^。^)ノ
ご回答ありがとうございました。
snoopy64さんの教えてくださった方法では「目立たない」とダメ出しされてしまいました。。。
他の方法でがんばります。
また何かありましたらよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Access サブフォームでの選択行の取得
その他(データベース)
-
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
ACCESSで、フォームのレコードごとに背景色変更
その他(データベース)
-
6
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
7
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
8
サブフォームの行ごとにコンボボックスの表示項目を変更する方法が知りたいです
Visual Basic(VBA)
-
9
Access 複数フォームを開き、画面の最上面にしたいフォームをコント
その他(データベース)
-
10
フォームの高さを数値で指定したいのですが
Excel(エクセル)
-
11
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
12
2つ目のレコードの値を取得するには?
Access(アクセス)
-
13
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
14
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
15
ACCESS97 実行時エラー '2455'に関して
Access(アクセス)
-
16
Access2000 サブフォームのRecordSet取得法
Access(アクセス)
-
17
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
-
18
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
19
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
20
accessで2つ以上のフォームを起動時に表示する方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードを保存するコード ア...
-
アクセスでフォームビューがみ...
-
レコード削除時に(サブ)フォー...
-
Accessでチェックボックスで抽...
-
新規レコード行を非表示にしたい
-
ACCESSフォームのリストボック...
-
Accessでのデータ消滅に...
-
Accessでフォーム上に 直前の...
-
access2010 カウントアップマクロ
-
Access2016 入力専用フォームと...
-
Access サブフォームにフィルタ...
-
Accessで一件の新規レコードの...
-
アクセスのフォームで立ち上げ...
-
AccessVBA RecordSourceのリセ...
-
Accessでレコードの保存をせず...
-
アクセス:フォーム入力で、最...
-
アクセス データの競合を非表...
-
accessのフォームを空にしたい
-
access 自作の移動ボタンのエラ...
-
ACCESSでフォームを使って、テ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードを保存するコード ア...
-
新規レコード行を非表示にしたい
-
レコード削除時に(サブ)フォー...
-
アクセスでフォームビューがみ...
-
アクセスの自動保存解除はでき...
-
フィルタ後のフォームの件数の...
-
アクセス:フォーム入力で、最...
-
ACCESS起動時に所定フォームを...
-
Access サブフォームにフィルタ...
-
ACCESSでフォームを使って、テ...
-
Accessでフォーム上に 直前の...
-
Accessで上の行を自動でコピー...
-
Access2010、値を入力したら自...
-
Access:フォームプロパティ「...
-
Access 更新キャンセルするには?
-
レコードをダブルクリックする...
-
AccessVBA RecordSourceのリセ...
-
Accessでのデータ消滅に...
-
アクセスでの警告について教え...
-
Accessでレコードの保存をせず...
おすすめ情報