2014-02-21 53 views
3

我有這個簡單的訪問表單,當您填寫表單並忘記填寫業務單位字段時,會彈出一個msgBox告訴您這麼一個信息,將setFocus設置爲該組合框。如果它不是null,我想調用下一個功能。這段代碼的第一部分起作用,但是當它不是空的時候,它不會繼續。檢查訪問表單字段爲空,如果不爲空然後調用添加功能

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 

有沒有人看到我完全在左場?

回答

6

您有額外的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 

它幫助,如果你學會正確縮進代碼匹配IfEnd If視覺,所以你可以看到他們排隊(匹配),並在那裏他們不」噸。 :-)

+0

感謝您的提示和代碼更改。我替換了現有的代碼,但是當我確實有一個BU Selected,意味着它不是null,沒有任何事情發生。如果我在該特定代碼上創建Button_Click,則Add_RPS_Line Sub將自行工作。 –

+0

得到它的工作!謝謝 –

相關問題