You could try:
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
'if clientID exists, don't change
If Not (Len(Trim(Me.ClientID & "")) > 0) Then ' 1
'check if last name is NULL
If Len(Trim(Me.lastname & "")) > 0 Then '2
MsgBox "Last name is required!"
Me!last.SetFocus
Exit Sub
End If '2
'check if phone is NULL
If Len(Trim(Me.homephone & "")) > 0 Then '3
MsgBox "Home Phone is required!"
Me.homephone.SetFocus
Exit Sub
End If '3
Me.ClientID = Left(Me.lastname, 4) & Right(Me.homephone, 4)
Me.IsClient = True
End If '1
End Sub
This is using the form before update event, so the value won't be generated until the record gets saved.