Discussion: Test sur champs vides [AC-2013]

  1. #1
    Membre du Club
    Homme Profil pro
    Responsable magasin
    Inscrit en
    mars 2018
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : mars 2018
    Messages : 115
    Points : 52
    Points
    52

    Par défaut Test sur champs vides

    Bonjour
    Je préviens je débute, merci d'avance pour votre temps et votre indulgence...

    Je souhaite faire une macro qui est liée au clic sur un bouton et qui teste certains champs d'un formulaire, s'ils sont tous vides, une action est déclenchée, par exemple afficher un message:
    J'utilise le générateur de macro
    Si [Champ1] et [Champ2] et ... et [Champ12]="" alors
    Zone Message --> "Tout est Vide"

    Mais cela ne fonctionne pas, en mettant ="" ou is Null
    les champs sont soit date/heure soit texte court, soit numérique, soit texte long (bref il y a un peu de tout!!)
    Même si je réduit à 1 champ, qui est pourtant vide (visuellement) dans le formulaire rien à faire !!

    Help !!

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    octobre 2005
    Messages
    11 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : octobre 2005
    Messages : 11 844
    Points : 17 916
    Points
    17 916

    Par défaut

    Bonjour.

    D'abors il faut tester la valeur de chaque champ séparément (l'oppérateur = n'est pas transitif) et ensuite tu peux utilser l'astuce qui fait que Null & "" donne "" ou lieu de Null.

    Cela donne quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Champ1] & "" = "" and [Champ2] & "" = "" and ... and [ChampN] & "" = ""
    Si tu tiens à être strict (et ne pas utiliser l'astuce) tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (isnull([Champ1]) or isEmpty([Champ1]) or [Champ1]="") and (isnull([Champ2]) or isEmpty([Champ2]) or [Champ2]="") and ... and (isnull([ChampN]) or isEmpty([ChampN]) or [ChampN]="")
    Access va traduire pour toi And et Or en français.

    Il y a une subtile différence entre être nul (isNull) et être vide (isEmpty) et il faut tester les 2.
    L'astuce simplfie grandement le code.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre du Club
    Homme Profil pro
    Responsable magasin
    Inscrit en
    mars 2018
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable magasin

    Informations forums :
    Inscription : mars 2018
    Messages : 115
    Points : 52
    Points
    52

    Par défaut

    Merci de ton intérêt!

    L'astuce fonctionne très bien!! (il faut cependant ajouter des parenthèses : Si ([Champ1] & ""="") Et ([Champ2] & ""="") etc...)

    J'ai appris que = n'était pas transitif...

    Merci encore !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] test sur champ vide et nouvelle valeur
    Par Leehan dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/03/2012, 12h19
  2. [debutant] test sur champ de formulaire vide
    Par eyango dans le forum Access
    Réponses: 1
    Dernier message: 25/08/2006, 18h17
  3. Test evenement sur champ vide dans une table
    Par eddyG dans le forum Access
    Réponses: 3
    Dernier message: 30/05/2006, 17h02
  4. [Access2000] test si champ vide qui marche pas ...
    Par michaelbob dans le forum Access
    Réponses: 2
    Dernier message: 17/10/2005, 10h46
  5. Requete sur champ vide
    Par Eltaz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/06/2005, 13h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo