• 締切済み

アクセス+vb 複数コントロールに同じ処理する場合

アクセス+VBです。 空のフォームにラベルを複数ランダムに配置します。(多ければ500個くらい) そのラベルにクリックイベントを発生させて処理させる場合、ラベルの数だけイベント処理を書かなくてはいけませんよね。 もし、処理内容が同じならひとつの処理記述ですませる方法はないですか。 例えば学校の教室だとすれば、ラベルを机の代わりにしてフォームに配置します。 ラベル(机)をクリックしたら、その生徒のデータが表示される。 良い方法はないでしょうか?

みんなの回答

回答No.3

はじめましてmarumaru_a_wといいます。 Accessのイベントには、Fromの中で作成されたPublic Functionを呼び出すことが出来ます。 VBのIndexみたいなことしたい場合は =Label_Click(処理したいラベルの番号) これをクリックイベントの部分に入れるとクリックした時に制御できると思います。 Public Function Label_Click(Index AS Integer)  処理内容 End Function

situmonnsya
質問者

お礼

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

すると、全ての回答が全文表示されます。
noname#22222
noname#22222
回答No.2

フレームコントロールを利用します。 ・フレームを配置。 ・オプションボタンをラベルの下へ。 ・レベルの背景を不透明に。 ・フレームの見出しや枠を消します。 これで、事実上、フォームのラベルコントロールを配置したことと見た目は同じになります。 で、同時に Private Sub フレーム_Click()   処理コード End Sub が、可能になります。

situmonnsya
質問者

お礼

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

すると、全ての回答が全文表示されます。
  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.1

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

situmonnsya
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A