Here I modified it. It should be fine with zeros now and if the user removes the zero from the wrong textbox it will replace it before inserting to remove nulls.
[code=vb]
Private Sub Form_BeforeUpda te(Cancel As Integer)
Dim strError As String 'Used to format a friendly message to user
Dim blnError As String
blnError = False
strError = "Please fix the following:" & vbCrLf
'Residential PCCs
If Me.PCC >= 100 And Me.PCC <= 299 Then
If IsNull(Me.[org-bldg-val-r]) Then
blnError = True
strError = strError & "You must enter a residential value!" & vbCrLf
End If
If Me.[org-bldg-val-c] > 0 Then
blnError = True
strError = strError & "Residentia l PCCs cannot have commercial values!" & vbCrLf
ElseIf IsNull(Me.[org-bldg-val-c]) Then
Me.[org-bldg-val-c] = 0
End If
'Commercial PCCs
ElseIf Me.PCC >= 300 And Me.PCC <= 599 Then
If IsNull(Me.[org-bldg-val-c]) Then
blnError = True
strError = strError & "You must enter a commercial value!" & vbCrLf
End If
If Me.[org-bldg-val-r] > 0 Then
blnError = True
strError = strError & "Commercial PCCs cannot have residential values!" & vbCrLf
ElseIf IsNull(Me.[org-bldg-val-r]) Then
Me.[org-bldg-val-r] = 0
End If
'Both
ElseIf Me.PCC <= 99 Then
If IsNull(Me.[org-bldg-val-r]) Then
blnError = True
strError = strError & "You must enter a residential value!" & vbCrLf
End If
If IsNull(Me.[org-bldg-val-c]) Then
blnError = True
strError = strError & "You must enter a commercial value!" & vbCrLf
End If
'PCC entered is out of range
Else
blnError = True
strError = strError & "PCC is out of range."
End If
'If something was wrong then cancel the action and display the problems
If blnError Then
Cancel = True
MsgBox strError, vbOKOnly + vbCritical, "Error!"
End If
End Sub
[/code]
[code=vb]
Private Sub Form_BeforeUpda te(Cancel As Integer)
Dim strError As String 'Used to format a friendly message to user
Dim blnError As String
blnError = False
strError = "Please fix the following:" & vbCrLf
'Residential PCCs
If Me.PCC >= 100 And Me.PCC <= 299 Then
If IsNull(Me.[org-bldg-val-r]) Then
blnError = True
strError = strError & "You must enter a residential value!" & vbCrLf
End If
If Me.[org-bldg-val-c] > 0 Then
blnError = True
strError = strError & "Residentia l PCCs cannot have commercial values!" & vbCrLf
ElseIf IsNull(Me.[org-bldg-val-c]) Then
Me.[org-bldg-val-c] = 0
End If
'Commercial PCCs
ElseIf Me.PCC >= 300 And Me.PCC <= 599 Then
If IsNull(Me.[org-bldg-val-c]) Then
blnError = True
strError = strError & "You must enter a commercial value!" & vbCrLf
End If
If Me.[org-bldg-val-r] > 0 Then
blnError = True
strError = strError & "Commercial PCCs cannot have residential values!" & vbCrLf
ElseIf IsNull(Me.[org-bldg-val-r]) Then
Me.[org-bldg-val-r] = 0
End If
'Both
ElseIf Me.PCC <= 99 Then
If IsNull(Me.[org-bldg-val-r]) Then
blnError = True
strError = strError & "You must enter a residential value!" & vbCrLf
End If
If IsNull(Me.[org-bldg-val-c]) Then
blnError = True
strError = strError & "You must enter a commercial value!" & vbCrLf
End If
'PCC entered is out of range
Else
blnError = True
strError = strError & "PCC is out of range."
End If
'If something was wrong then cancel the action and display the problems
If blnError Then
Cancel = True
MsgBox strError, vbOKOnly + vbCritical, "Error!"
End If
End Sub
[/code]
Comment