0
votes

VBA ne reconnaît pas la valeur Null

Travailler dans MSAccess. J'essaie de basculer la visibilité d'un bouton en fonction de la valeur d'une zone de texte. Le formulaire a été créé à partir d'une requête. Je me suis assuré que la valeur du site tbl_Manufacturer.Website est Null. Mais le code continue de se valider comme faux et passe dans le prochain ensemble de code. Qu'est-ce que j'ai manqué?

Private Sub Form_Load()

    If ([Forms]![frm_Asset]![tbl_Manufacturer.WebSite]) = Null Then
            
        btn_Hyperlink.Visible = False
    
    Else
        
        btn_Hyperlink.Caption = [Forms]![frm_Asset]![tbl_Manufacturer.WebSite]
        btn_Hyperlink.Visible = True
    
    End If

End Sub

-Jeff


0 commentaires

3 Réponses :


3
votes

Rien n'est jamais égal à Null, car Null est une valeur manquante. Something = Null retournera toujours Null , qui prend la valeur false.

Si vous voulez tester si un champ est nul, utilisez le IsNull fonction:

If IsNull([Forms]![frm_Asset]![tbl_Manufacturer.WebSite]) Then


1 commentaires

ISNULL! Merci Erik, j'ai complètement oublié ça!



0
votes

Essayez plutôt d'utiliser IsNull:

Si (IsNull ([Forms]! [frm_Asset]! [tbl_Manufactuer.Website]) Alors ......

Test si une chaîne est nulle


0 commentaires

-1
votes

En plus de l'option IsNull présentée par d'autres réponses, vous pouvez simplement comparer à une chaîne vide, puisqu'il s'agit d'une zone de texte:

Si ([Forms]! [frm_Asset]! [tbl_Manufacturer.WebSite]) n'est pas "" Alors


0 commentaires