- ベストアンサー
クリックしたボタンによってSelect分で分けたい
accessのフォームのINDEX画面にて クリックしたボタンによって取得するテーブル名を分けたいのですが、 それは可能でしょうか? いろいろ調べたのですが、見つからず。。。 ↓こんなかんじのようなことがしたいです。 Function strTbl() As String If A出力_Click Then strTbl = "[A_5_通常処理]" ElseIf B出力_Click Then FstrTbl = "[B_3_月次処理]" End If End Function
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
案1 取りあえず必要なだけコマンドボタンを配置する 5個だと仮定して フォームのモジュール内に Function cmdSel() Dim cb As Control Set cb = Screen.ActiveControl Select Case cb.Name Case "コマンド0" MsgBox "0" Case "コマンド1" MsgBox "1" Case "コマンド2" MsgBox "2" Case "コマンド3" MsgBox "3" Case "コマンド4" MsgBox "4" End Select Set cb = Nothing End Function とします。 各コマンドボタンのクリック時イベントの欄に =cmdsel() としてみてください。 案2 「オプション グループ」コントロールを配置し(仮名フレーム1) その中にトグルボタンを5個配置し、それぞれのオプション値を0~4にします。 オプショングループのクリック時イベントに Private Sub フレーム1_Click() Select Case Me!フレーム1.Value Case 0 MsgBox "0" Case 1 MsgBox "1" Case 2 MsgBox "2" Case 3 MsgBox "3" Case 4 MsgBox "4" End Select End Sub Accessのバージョンが不明なので2010の場合↓ http://hamachan.info/win7/Access/option.html
その他の回答 (1)
- kmetu
- ベストアンサー率41% (562/1346)
> クリックしたボタンによって取得するテーブル名を分けたい フォームのレコードソースを分けたいということですか Private Sub A出力_Click() Me.RecordSource = "[A_5_通常処理]" End Sub Private Sub B出力_Click() Me.RecordSource = "[B_3_月次処理]" End Sub
お礼
いろんなやり方があるのですね。今後の参考にさせて頂きます。 回答ありがとうございました。 また宜しくお願いします。
お礼
案1を使わせて頂き、無事やりたいことができました。いろんなやり方があるのですね。案2も今後の参考にさせて頂きます。 ありがとうございました。