• 締切済み

Access 帳票フォームでカレント行だけ色反転させれますか?

いつもここのサイトにはお世話になっています。 今回もよろしくお願いします。 Access2002と VBAを使用して、マスターテーブルのメンテナンスの画面を作成しています。 1フォームの構成は上部に入力欄があり、 下部にサブフォームで帳票フォーム形式でテーブルが表示してあります。 下部のテーブルでレコードをクリックすると、上部の入力欄にクリックした部分のレコード(サブフォームのカレント行)内容を表示し、上部の入力欄にてデータの変更/更新を行います。 みなさんに教えていただきたいのは、 下部のサブフォーム部分でクリックした際に、クリックしたレコードの部分だけ色反転させるなどして「目立たせたい」のですが、VBAなどで色の指定を変更しても、サブフォーム全体の色が変わってしまいます。 なんとかして、1目で「カレント行」と「それ以外」とわかるようにする方法はないでしょうか? 補足説明はしますのでなんなりと申し付けてください。 よろしくお願いします。

みんなの回答

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

> クリックしたレコードの部分だけ色反転させるなどして セクションの背景色ではありませんが、各コントロールの背景色であれば、 条件付書式で対応可能ですね。 どれかひとつのコントロールだけでいいのなら、条件付書式で フォーカスのあるフィールド を選べばいいと思います。 セクションのコントロールすべてであれば、VBAを組み合わせればいいかな。 #その場合、一意となるキー(主キーとか)が必要になると思います。

yurikoxxxx
質問者

お礼

ご回答ありがとうございました。 条件付書式はまったく考えていなかったので試したところ、なんとか選択行の色反転をさせることができました。 1.ダミーのテキストボックス[txtdummy]をフォームヘッダーに用意する。 2.選択時に選択行のキーが入ってるテキストボックス[txtkey]の値を[dummy]に入れる。 3.詳細のすべてのコントロールに条件書式にて式[txtkey]=[txtdummy] という条件で背景や文字色の書式を設定 という設定で成功しました。 多少画面がちらつきますが、「選択行色反転」という最低条件をクリアしてるので、当面はこちらで行きたいと思います。 ※なにか、改善策がありましたらぜひとも教えてください。

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

カレント行だけに別の書式を設定するのは無理のような気がします。 で、代案ですが、 1.レコードセレクタを表示するとカレント行の一番左に三角が出るのでそれで我慢する。 2.フィールドを1つ追加して、選択されているレコードのそのフィールドに「★」あたりを入れてあげて、そのフィールドのフォントを赤にする。 センスのかけらもないですが。。。 頑張ってくださいヽ(^。^)ノ

yurikoxxxx
質問者

お礼

ご回答ありがとうございました。 snoopy64さんの教えてくださった方法では「目立たない」とダメ出しされてしまいました。。。 他の方法でがんばります。 また何かありましたらよろしくお願いします。

関連するQ&A

  • 単票フォームと帳票フォームを連動 アクセス

    どういう構成にすればいいか教えてください。 元データはT_testのみですが T_testを元に、単票フォームと帳票フォームを作り、 この二つのフォームをサブフォームにし、1つの親フォームにはめて、 帳票フォームのレコードをクリックする(カレントレコードが変わる)度に 単票フォームは、帳票フォームのデータを表示させたいのですが どうすればいいでしょう? レコードソースは親フォームに設定すればいいのでしょうか? それとも単票フォームと帳票フォームそれぞれにT_testを設定すればいいでしょうか? 帳票フォームのレコードをクリックして単票フォームのデータを表示させる際は、 帳票フォームの値を取得して単票フォームにフィルタをかければいいのでしょうか?

  • Accessフォームの操作で

    2つの別々なフォームがあります。 それぞれのフォームの基になっているテーブルが別々にあります。 ひとつはデータが入力されているテーブルで もうひとつはフォームから入力していく空のテーブルです。 データが入力されているフォームでは、データ抽出するサブフォームを持っていて、 そこにあるレコードセレクタをダブルクリックすると もうひとつの空のテーブルから作成したフォームにデータを入力していくようにしたいんですけど、うまくいきません。 乱文でわかりにくいとは思います。 ご迷惑をおかけしますが教えてください。 よろしくお願いします。

  • Access のフォームで新しい行を挿入する方法

    アクセスの表形式でフォームを作成した時、データの先頭を右クリックすると ボックスが表示され、切り取り、コピー、貼り付け と表示されますが、ここに 挿入 がありません。  そこで、ここでダブルクリックをする事により、行挿入を行おうと思いました。 実際やってみるとテーブルの中には新しいレコードが挿入されているのですが、フォームを再表示(Repaintメゾッドを使用)しても、作成されたレコードが表示されません。 この時、レコード件数も増えているのに、以前のままの表示です。追加した後の枝No.は変更されて表示されています。  レコードには、キー項目と枝No.があります。  最初、レコード件数は2件とします。 1件目と2件目の間に新しいレコードを挿入したいので、2件目をダブルクリックして、新しく枝No.「2」のレコードを作成し、元の枝No.「2」のレコードは「3」に変更している事はテーブルを開けてみて確認しています。  この時、フォームでも枝No.は Repaint 実行後、変更されて表示されています。  どのようにすれば、新しいレコードが表示する事が出来るでしょうか。 実際には、この表形式はサブフォームにしており、メインフォームから、この挿入イベントを実行したいのです。 メインフォームでイベントを実行後、新たにサブフォームだけ開けてみると、ちゃんと新しいレコードが表示され、レコード件数も3件になっています。  よろしくお願いいたします。

  • Access2013 帳票フォーム、1行で改行

    こんにちは Access2013を利用して 帳票フォームを作成しました。 1行入力すると、改行されて(表示がみえなくなり)次の新レコード入力となります。 PageUPボタンやスクロールバーを利用して1行目を表示する事はできるのですが 詳細セクションには充分なスペースがあるにもかかわらずこのような動作となります。 レコードソースにフィルターはかけずに全て表示させております。 どなたかご教授ください。どうぞよろしくお願いいたします。

  • Accessのメインフォームとサブフォームの使い方について

    Accessにてメインフォーム(単票形式)+サブフォーム(帳票形式)を使って進捗管理をするデータベースを作っており、新規にメインフォームで入力し、サブフォームで入力したデータを表示させてます。 サブフォームで更新したいレコードをクリックしたときにメインフォームでそのレコードを表示させるにはどのようにすればよろしいのでしょうか?

  • Accessのフォームで行を選択する際に。

    Accessでフォームの任意の行を選択したときに、その行に該当するデータベースのレコードをカレントレコードにするにはどうしたらいいのでしょうか?

  • Accessでのフォーム入力エラー

    顧客管理を 顧客マスタ 受注明細 入金明細のテーブルを作成し、リレーションシップの設定をしてあります。テーブルには、この形で入力できるのですが、フォームをウィザードを使って作成(サブフォームのリンクされたフォーム)しました。 新規入力することができません。「テーブル’顧客マスタ’にリレーションシップが設定されたレコードが必要なので、レコードの追加や変更をおこなうことはできません。」のメッセージが出ます。 どうしていいのか、わかりません。教えてください。

  • access フォーム上で複数行のレコードを追加したい。

    宜しくお願いします。 仕様環境:WinXP access2002 フォーム上にコマンドボタンで空白のレコードを 追加したいのですが、一行だけなら「値の代入」マクロで 追加できるのですが、複数行だとやり方がわかりません。 「追加クエリ」を作ってコマンドボタンにマクロで乗せてみたのですが、 テーブル上では複数の空白レコードが追加されてますが、 フォーム上には反映してくれません。 「値の代入」マクロを使って、複数行のレコードをフォーム上に追加するか、 「追加クエリ」を使って、複数行のレコードをフォーム上に反映させるか したいのですが教えてください。 ※ ちなみにこのフォームはサブフォームです。   また5行追加しようとしています。   この方法では無理でしたらご指導お願いします。 宜しくお願いします。

  • アクセス 主キー・INDEX無フォーム背景色

    Access2010でフォームに入力する際に、レコード数と確認項目も多いため、入力時に 該当行が一目でわかるようにしたいのですが、主キーもINDEXも無いフォームの背景色を 以下のように変更する方法がわかりませんので、お教え願います。 データは、日々増減します。 ((1)ができればベストですが、無理なら(2)でも構いません) (1) カレント行の背景色の変更および文字拡大 (2) 1行毎に行の色をつける

  • ACCESS フォーム

    ACCESSの初心者です。 フォームのメインフォーム、サブフォームを使ってデータを入力しています。 サブフォームにデータを入力後、マウスを使わないで次のレコードに移動したいのですが、どのような方法がありますか。   よろしくお願いします。

専門家に質問してみよう