MS Access Tips/Sample and VBA and Blog customize etc...

フォームでiTuensのようなレート表示

マウスでクリックしたりドラッグすることで★の数を変更することでできるあれです。

掲示板で質問があったのでサンプルを作成したのでブログでもアップします。

以前の記事、
マウスドラッグで範囲指定 - hatena chips
の応用で簡単にできます。

フォームでiTuensのようなレート表示

難易度:

ラベルに表示させる

とりあえずラベルに表示させるものを作成してみました。

フォームにラベルを配置して、標題を「・・・・・」とします。
サイズやフォントを調節します。

フォームのモジュールは下記のようにします。

MouseDownイベント、MouseMoveイベントの X引数で相対的なカーソル位置が取得できますので、それからレートを計算して、レートの数の★をラベルのキャプションに表示させます。

非連結単票フォームのラベルでレート表示

連結の帳票フォームに表示させる

非連結フォーム上のラベルでうまくいったので、連結の帳票フォームに表示させるのもトライしました。

まず、レコードソースのテーブルに数値型のフィールドを追加します。名前は「評価CD」とします。

評価CD には、0~5 までの数値を入力します。

テーブルから下記のクエリを作成します。

これで、評価CD の数値に対応して★が表示されます。

これをレコードソースとするフォームを作成します。

「レート表示」フィールドと連結したテキストボックスを配置してプロパティを下記のように設定します。

プロパティ設定値
使用可能いいえ
編集ロックいいえ

このテキストボックスの上にコマンドボタンを配置して、両者のサイズを同じにして重なるようにします。

プロパティ設定値
透明はい
名前cmdレート

フォームのモジュールを下記のように記述します。

非連結帳票フォームでレート表示

最初、クエリを使わずに、テキストボックスのコントロールソースに、レート表示の式を設定したのですが、ちらついたり、表示が遅れたりしました。いろいろ試して、クエリに変更したら解消されました。

サンプルファイルが下記からダウンロードできます。
FrmSetRate_07.zip (Access 2007-2010 形式 - 37kb)
FrmSetRate.zip (Access 2002-2003 形式 - 33kb)
FrmSetRate_2k.zip (Access 2000 形式 - 33kb)

拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/429-cb6c7dfd
該当の記事は見つかりませんでした。