特定の種類のレコードに対して、少量のデータを表示するAccessフォームがあります。基本的には、名前を左側に表示し、右側には、そのレコードのIDをパラメータとして使用して実行したクエリの結果に応じて、フォームのOnLoad()関数で背景色を変更する矩形コントロールが多数含まれています。連続フォームにアクセスする - レコードごとにコントロールを個別化する方法?
これはうまくいきました。ID /名前が左側にあり、右側に31個のボックスがあり、その日が予約されていれば色分けされています:)しかし、関数はコードなので完全に任意であることは言うまでもありません。
次に、できるだけ多くのレコード/アイテムを表示するために「連続フォーム」に切り替えることにしました。しかし、残念なことに、そうではありませんでした。すべてのボックスは、最初のレコードのみに対して実行されたクエリ/機能に従って色付けされていました。私はそれがOnLoad()だからOnCurrent()に変更してもそれほど大したことではないと考えました。それが判明した、またはそれが私が読んだところでは、四角形の範囲はフォーム全体で共有されています。そのうちの1つのBackColorを変更すると、各レコードのそのボックスで変更されます。
これは、レコード単位で実行されるクエリに応じて変更することができます。何か方法はありますか?今まで私は条件付き書式(四角形にも利用可能でないし、私の正確なニーズに応えることもできないような機能)と、Access 97のテキストボックスハックを見つけることができた。事前に
感謝:)
いいえ2つの条件(予約=赤、開く=緑)がある場合、2つの画像を使用します。サブフォームは、矩形の代わりにイメージコントロールを使用します。すでに使用されている変数の後にイメージの名前を付けることができます。私は今私の人工物を見ました。ここにはない。しかし、 "画像"のヘルプ検索はすぐにあなたに指示します(VBAではなく、Accessのヘルプから始めます)。 – Smandoli
私はC/C++の低レベルコーダーであり、実際には:)実際には、私は明らかに次のようなハックをしていました:31個のボックスを連続して、レコードデータを使ってコードパスに従って色を表示します。エレガントではありませんが、仕事をすることになっています。問題は明らかに、コントロールのプロパティはレコードごとではなく1回だけ共有/インスタンス化されているということです。画像はこれをどのように解決しますか?そして、あなたは画像を使って、各順列に対して31の異なる画像を意味しますか?どのような場合でも、GUIレイヤーで画像ではなくベクトル化された形状を描画するほうが好きです。詳細を教えてください:) – nielsj
申し訳ありません "クルージング"周りのコメント - 決して私の心を作ることはできません:)あなたのソリューションは良いと思う。 – nielsj