2013-12-05 2 views
0

У меня небольшая проблема, и я думаю, что кто-то (явно умнее меня) может помочь мне. По некоторым причинам я не могу получить эту работу правильно:If Then Statement & Equal to Reference Access VBA

& me.prepayment_month = «»

Prepayment_Month раскрывающийся список всех месяцев. Если я введу месяц и пройду через код, признается месяц. Моя проблема в том, когда она пуста. Он не признает это условие. Я пробовал Null, "", Blank, и все не были признаны.

Private Sub Add_Prepayment_Save() 
DoCmd.Save acForm, "frmInvoices" 
If Me.Rec_d_Prepayment = 0 Then 
DoCmd.Save acForm, "frmInvoices" 
End If 
If Me.Rec_d_Prepayment <> 0 & Me.prepayment_month = " " Then 
    MsgBox "Please Update Prepayment Month" 
End If 
If Me.Rec_d_Prepayment <> 0 & Me.prepayment_month <> "" Then 
    MsgBox "This will be added to tblPrePayment" 
End If 
End Sub 

------- Update 1 ---------

Private Sub Add_Prepayment_Save() 
DoCmd.Save acForm, "frmInvoices" 
If Me.Rec_d_Prepayment = 0 Then 
DoCmd.Save acForm, "frmInvoices" 
End If 
If Me.Rec_d_Prepayment <> 0 And Me.prepayment_month = "" Then 
    MsgBox "Please Update Prepayment Month" 
End If 
If Me.Rec_d_Prepayment <> 0 And Me.prepayment_month <> "" Then 
    MsgBox "This will be added to tblPrePayment" 
End If 
End Sub 
+0

Я бы не сказал умнее, возможно, просто более опытный. мой мозг также испорчен, поэтому я могу относиться к этой ошибке. оператор & в VBA предназначен для конкатенации строк. Я удивлен, что это даже получило компилятор. попробуйте использовать .... AND – semisided1

+0

@ semisided1 Я использовал «AND», и он все еще не распознается. Я обновил код, чтобы включить самые последние обновления. – bjk

ответ

1

амперсанд Объединяет строки вместе в языках на основе VB. Для реализации логического оператора AND используйте ключевое слово AND. То, что вы делаете, это склеивание нуля до значения Me.prepayment_month.

+0

Я использовал «И», и он все еще не распознает. Я обновил код, чтобы включить самые последние обновления. – bjk

+0

@bjk, если вы наберете 'MsgBox Me.prepayment_month', что он говорит? – user2785724

+0

@ user278524 Если ячейка пуста - Ошибка времени «94»: неверное использование Null. Если ячейка имеет значение, она показывает значение. Не уверен, если это имеет значение, но тип источника строки - это «Список значений». Форматирование в свойстве ячейки пустое, без доступных параметров в раскрывающемся списке. – bjk