IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Erreur 94 - Utilisation incorrecte de Null


Sujet :

IHM

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut Erreur 94 - Utilisation incorrecte de Null
    Bonjour,

    Au formatage d'un état, j'utilise la fonction VraiFaux pour afficher dans une zone de texte un résultat différent en fonction d'un champ date qui est soit rempli, soit vide.

    Voici ce que j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IIf(IsNull([dateDebut]), "(date début) ", Format([dateDebut], IIf(Day([dateDebut]) = 1, "1er ", "d ") & "mmmm yyyy "))
    Sauf que si le champ dateDebut est null, au lieu que tout simplement s'affiche "(date début) ", je me prends l'erreur cité en objet. L'erreur est liée à la condition Faux car si je mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IIf(IsNull([dateDebut]), "(date début) ", [dateDebut])
    le message d'erreur n'apparait plus et j'ai bien ce que je veux, à savoir "(date début) " qui s'affiche dans mon état.

    Est-ce qu'il y une erreur de syntaxe dans ma condition Faux ?

    Merci

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,

    La fonction iif évalue toujours les 2 arguments (en tout cas en VBA) et plante donc sur ce type de syntaxe
    nz sera plus adapté ici je pense
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonsoir,
    Est-ce qu'il y une erreur de syntaxe dans ma condition Faux ?
    oui, on ne peut pas concaténer un format, mais on peut formater la date dans le deuxième VraiFaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IIf(IsNull([dateDebut]), "(date début) ", IIf(Day([dateDebut]) = 1, "1er " & Format([dateDebut],"mmmm yyyy"), Format([dateDebut],"d mmmm yyyy")))
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Merci pour vos réponses.

    Malheureusement, l'utilisation de nz et la modification du format ne fonctionnent pas non plus, le message d'erreur apparaît toujours :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IIf(Nz([dateDebut]) = 0, "(date début) ", IIf(Day([dateDebut]) = 1, "1er " & Format([dateDebut], "mmmm yyyy"), Format([dateDebut], "d mmmm yyyy")))
    Est-ce qu'il y a une autre façon de faire ?

  5. #5
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Comme indiqué dans mon 1er post, c'est IIF qui pose problème car la 2e expression doit accepter datedebut à null même si elle ne sera pas retenue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IIf(IsNull([dateDebut]), "(date début) ", Format(nz([dateDebut],0), IIf(Day(nz([dateDebut],0)) = 1, "1er ", "d ") & "mmmm yyyy "))
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    En effet merci

Discussions similaires

  1. [A-03]Erreur 94-Utilisation incorrecte de Null
    Par Gabrieel dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/02/2009, 16h48
  2. erreur 5:utilisation incorrecte de null
    Par giloo(94) dans le forum IHM
    Réponses: 6
    Dernier message: 13/02/2008, 13h21
  3. erreur 94 utilisation incorrecte de null
    Par caossak dans le forum Général VBA
    Réponses: 2
    Dernier message: 24/06/2007, 11h00
  4. Réponses: 3
    Dernier message: 30/03/2007, 14h48
  5. Réponses: 6
    Dernier message: 03/07/2006, 08h26

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