私はこの単純なアクセスフォームを持っています。フォームに入力してビジネスユニットフィールドに入力するのを忘れると、msgBoxがポップアップしてその旨を通知し、setFocusをそのコンボボックスに設定します。 nullでない場合は、次の機能を呼び出します。このコードの最初の部分は機能しますが、notNullの場合は続行されません。
Private Sub Image_AddNon_RPS_Button_Click()
If IsNull(Me.BU_Selected_Add) Then
MsgBox "Please Select a Business Unit!", vbOKOnly
Exit Sub
End If
Me.Combo_BU_Selector.SetFocus
Exit Sub
If Not IsNull(Me.BU_Selected_Add) Then
Call Add_RPS_LINE
End If
End Sub
誰かが私が左翼手で完全にどこにいるのか見ていますか?
追加のExit Sub
(最初のMsgBox
の後のもの)があり、コードが目的の処理を実行できなくなります。また、最初のEnd If
が間違った場所にあります。
代わりに次のようなものを試してください。
Private Sub Image_AddNon_RPS_Button_Click()
If IsNull(Me.BU_Selected_Add) Then ' No business unit
MsgBox "Please Select a Business Unit!", vbOKOnly ' Tell user
Me.Combo_BU_Selector.SetFocus ' Focus the control
Exit Sub ' Exit the method
End If ' End the IsNull test
Call Add_RPS_LINE ' You only get here if the above doesn't execute
End Sub
If
とEnd If
に視覚的に一致するようにコードを適切にインデントすることを学ぶと、それらがどこに並んでいるか(一致しているか)、どこに一致していないかを確認できます。 :-)