Comment faire pour avoir Plusieurs Conditions dans un if/then Instruction
Je suis en train d'écrire du code dans Access 2010 que lorsque le bouton [Valider] est cliqué, il va analyser plusieurs champs (8 au total) pour une valeur (ou pas de valeur), et de renvoyer un énoncé (ou texte) dans un autre domaine ([AppStatus]) basé sur la présence de tous les 8 champs sont inscrits ou pas. En d'autres termes, si un des champs sont nuls, le [AppStatus] champ doit remplir avec le texte par défaut de "RE de PRÉ-QUAL". Ci-dessous est là que j'ai commencé mais je n'arrive pas à comprendre pourquoi ça ne fonctionne pas.
Private Sub Validate_Click()
If [PrimarySSN].Value = Null Then
If [PropAddress].Value = Null Then
If [PropCity].Value = Null Then
If [PropState].Value = Null Then
If [PropZipCode].Value = Null Then
If [RequestedLoanAmount].Value = Null Then
If [BorrowerIncome.Value] = Null Then
If [EstHomeValue].Value = Null Then
[AppStatus].Value = "RE PRE-QUAL"
ElseIf [PrimarySSN].Value = Not Null Then
ElseIf [PropAddress].Value = Not Null Then
ElseIf [PropCity].Value = Not Null Then
ElseIf [PropState].Value = Not Null Then
ElseIf [PropZipCode].Value = Not Null Then
ElseIf [RequestedLoanAmount].Value = Not Null Then
ElseIf [BorrowerIncome].Value = Not Null Then
ElseIf [EstHomeValue].Value = Not Null Then
[AppStatus].Value = Null
End If
End If
End If
End If
End If
End If
End If
End Sub
Vous devez vous connecter pour publier un commentaire.
L'une des raisons pour lesquelles il n'est pas le travail, c'est parce que Rien n'est jamais égal à Null, pas même un autre Null. Un autre problème est que vous ne pouvez pas utiliser
Not Null
dans le code VBA. (Not Null
est valable dans l'Accès SQL, mais ça n'aide pas ici.) Dans VBA, utilisezIsNull()
pour vérifier si une valeur est Nulle.Vous voulez "RE de PRÉ-QUAL" que la valeur de AppStatus chaque fois que l'un ou plusieurs de ces autres champs 8 est Nulle (c'est à dire
IsNull(fieldname.Value) = True
). Sinon, AppStatus sera Nulle. Si vous pourriez faire quelque chose comme ça ...Cependant que ce serait un peu lourd lorsqu'il est étendu à tous les 8 champs.
Comme alternative, vous pourriez commencer avec une liste de noms de contrôle, les charger dans un tableau, et l'utilisation d'un
For
boucle pour parcourir le tableau de vérifier si chaque contrôle de la valeur est Null. Si l'un d'eux est Nul, ensemble AppStatus à "RE de PRÉ-QUAL" et de sortir de la boucle.Avis, cette approche pourrait rendre la maintenance plus facile. Si jamais vous avez besoin d'ajouter ou de supprimer des contrôles à partir de la liste de ceux qui devraient être examinés, ou de modifier leurs noms, il suffit de modifier le strFieldList chaîne.
AppStatus.Value
.Je pense que c'est ce que vous avez besoin de:
Et aussi pensez à ceci: