人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Access VBAについて教えてください。フォーム上にラジオボタンA、ラジオボタンB、ラジオボタンCがあります。各オプション値は1,2,3です。オプションボタンを選択して実行ボタンを押すと各処理が走るという仕組みにしたいです。そこで分岐処理を書きました。ちなみにオプションはグループ化されています。またオプショングループ1の中に実行ボタンが配置。オプショングループ1の中のオプショングループ2にラジオボタンを配置してます。

If optionvalue1.value=1 Then
処理
ElseIf optionvalue2.value=2 Then
処理
Else
処理
End If
という処理です。この式はあっているでしょうか?以前http://q.hatena.ne.jp/1234976417での回答では上手に分岐しませんでした。以前はオプションボタン2を選択しているとします。オプション値は2です。にもかかわらず、実行ボタンを押すと既定値1のオプションボタン1を方に分岐がいってしまいました。今回は”実行時エラー2427 指定した式には値がありません"というメッセージが表示されてしまい、動きません。オプション値は正しく設定されています。どこが間違っているでしょうか?

●質問者: akaired
●カテゴリ:コンピュータ
✍キーワード:access VBA エラー オプション グループ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● SALINGER
●150ポイント ベストアンサー

ラジオボタンとフレームの関係なのですが、どのラジオボタンが選択されているかは1つ上のフレームのValueでわかります。

この場合、オプショングループ1がoptionvalue1で、オプショングループ2がoptionvalue2ならば、

optionvalue1は常にNullとなります。修正すると

If optionvalue2.value=1 Then
処理
ElseIf optionvalue2.value=2 Then
処理
Else
処理
End If

また、ラジオボタンがどれも押されていない状態だとNullを返すので、

Private Sub Form_Load()
 Me.optionvalue2.Value = 1
End Sub

などで、ロードと同時にデフォルトのラジオボタンが選択されているようにすればいいです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ