あなたの「必」の書き順を教えてください

アクセス+VBです。

空のフォームにラベルを複数ランダムに配置します。(多ければ500個くらい)
そのラベルにクリックイベントを発生させて処理させる場合、ラベルの数だけイベント処理を書かなくてはいけませんよね。
もし、処理内容が同じならひとつの処理記述ですませる方法はないですか。

例えば学校の教室だとすれば、ラベルを机の代わりにしてフォームに配置します。
ラベル(机)をクリックしたら、その生徒のデータが表示される。

良い方法はないでしょうか?

A 回答 (3件)

フレームコントロールを利用します。



・フレームを配置。
・オプションボタンをラベルの下へ。
・レベルの背景を不透明に。
・フレームの見出しや枠を消します。

これで、事実上、フォームのラベルコントロールを配置したことと見た目は同じになります。
で、同時に

Private Sub フレーム_Click()
  処理コード
End Sub

が、可能になります。
    • good
    • 0
この回答へのお礼

なんと、そういう手があったのですね。
試してみたら、いい感じです。
ありがとうございます。

お礼日時:2006/02/09 18:46

はじめましてmarumaru_a_wといいます。


Accessのイベントには、Fromの中で作成されたPublic Functionを呼び出すことが出来ます。
VBのIndexみたいなことしたい場合は

=Label_Click(処理したいラベルの番号)
これをクリックイベントの部分に入れるとクリックした時に制御できると思います。

Public Function Label_Click(Index AS Integer)
 処理内容
End Function
    • good
    • 0
この回答へのお礼

ご回答 ありがとうございます。
参考にさせて頂きました。

お礼日時:2006/02/18 23:27

コントロール配列を使いましょう。

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
アクセスはVBAで、コントロール配列は利用できませんでした。

お礼日時:2006/02/09 18:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報