Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1354 / 2272 ツリー ←次へ | 前へ→

【7448】オプションボタンを選択状態にしたい 小僧 06/3/6(月) 10:02 発言[未読]
【7454】Re:オプションボタンを選択状態にしたい 青首 06/3/6(月) 22:17 お礼[未読]
【7502】Re:オプションボタンを選択状態にしたい 青首 06/3/13(月) 21:19 質問[未読]
【7507】Re:オプションボタンを選択状態にしたい 小僧 06/3/14(火) 10:21 発言[未読]
【7556】Re:オプションボタンを選択状態にしたい 青首 06/3/18(土) 22:16 お礼[未読]

【7448】オプションボタンを選択状態にしたい
発言  小僧  - 06/3/6(月) 10:02 -

引用なし
パスワード
   [#7445] の 記事に複数の質問がありましたので別スレッドに分けます

>オプショングループが選択された際に
>オプションボタンが選ばれた状態にしたい

動作的には簡単にできるのですが…。

青首 さんの MDB の場合、
「残業時間」があった際は「残業区分」を選択すると思われますが、
「残業時間」がなかった場合はオプショングループは
何も選択されていない状態の方が良いのではないでしょうか。

オプショングループに移動した際に「残業時間」の値を見て

・ 0 だった場合 → 無選択
・ 0 でない場合 → 「上司の指示」が選択状態

という仕様を考えてみました。

オプショングループの「フォーカス取得時」のイベントに下記コードを記載し
結果を確認されてみて下さい。

Private Sub 残業理由フレーム_Enter()
  If Me.残業時間.Value > 0 Then
    Me.残業理由フレーム.Value = 1
  Else
    Me.残業理由フレーム.Value = 0
  End If
End Sub

【7454】Re:オプションボタンを選択状態にしたい
お礼  青首  - 06/3/6(月) 22:17 -

引用なし
パスワード
   ありがとうございます。

無事希望通りの形になりました。

【7502】Re:オプションボタンを選択状態にしたい
質問  青首  - 06/3/13(月) 21:19 -

引用なし
パスワード
   ▼小僧 さん:

オプションボタンについてもう少し質問があります。

もし、コマンドボタン:次へ移動ボタンをクリックしたとき、
残業時間が0の場合に残業区分が選択されていたら、
メッセージを表示するようにしたいのですが、どうもうまくいきません。

Private Sub 次へ移動ボタン_Click()

 Select Case True
    
   Case Not IsNull(Me.残業区分)
      MsgBox ("残業区分が選択されています")
   Case Else
       DoCmd.GoToRecord , , acNext
 End Select

End Sub

というコードを書いたのですが、残業区分が選択されていないのに
メッセージが表示されてしまいます。

あと、
Case Not IsNull(Me.残業区分)
    ↓
Case Me.残業区分.Value = 0

で書くと
「実行時エラー94 NULLの使い方が不正です」と表示されます。

テーブルを見ても、データ型は数値型になっているのですが、
どうも駄目みたいです。

とりあえずは、選択されていないのに表示されてしまうメッセージボックスを
正常に働かせたいのですが、ご指導お願いいたします。
  
  

【7507】Re:オプションボタンを選択状態にしたい
発言  小僧  - 06/3/14(火) 10:21 -

引用なし
パスワード
   ▼青首 さん:
おはようございます。

>もし、コマンドボタン:次へ移動ボタンをクリックしたとき、
>残業時間が0の場合に残業区分が選択されていたら、
>メッセージを表示するようにしたいのですが、どうもうまくいきません。

仕様としては「次へ移動ボタンをクリックしたとき」でなく、
「残業区分を指定した時」に残業時間のチェックを促す方が自然ではないでしょうか。

Private Sub 残業理由フレーム_BeforeUpdate(Cancel As Integer)
  If Me.残業理由フレーム.Value <> 0 And Me.残業時間.Value = 0 Then
    MsgBox "残業時間が0なので残業区分は選べません"
    Me.Undo
    Cancel = True
  End If
End Sub


「次へ移動ボタンをクリック時」の方が良いというのでしたら上のコードと同じ様に
「残業時間」の値と「残業区分フレーム」の値をチェックされてみて下さい。

【7556】Re:オプションボタンを選択状態にしたい
お礼  青首  - 06/3/18(土) 22:16 -

引用なし
パスワード
   ▼小僧 さん:


いまなかなかいい感じに進んではいるのですが、またすぐ躓くと思うので
その際はよろしくお願いいたします。

1354 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free