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

Access Discussion :

Passage de valeur nulle en paramètre dans une requête Access


Sujet :

Access

  1. #1
    Membre émérite Avatar de Civodul4
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    2 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 2 157
    Points : 2 595
    Points
    2 595
    Par défaut Passage de valeur nulle en paramètre dans une requête Access
    J'ai créé une requête Access avec divers paramètres à fournir.

    Deux de ces paramètres ont pour valeur Null.
    Lorsque je les passe par du Vb à la requête et que j'éxecute la requête, elle ne me renvoi aucun enregistrement. Je ne vois pas comment les passer !


    Les deux paramètres passés sont qd_Indiceplan et qd_Nplan
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT Pièces_réceptionnées.[No Cmde], Pièces_réceptionnées.[Ligne Cmde], Pièces_réceptionnées.[Type Element], Pièces_réceptionnées.Etat, Pièces_réceptionnées.[Date Cmde], Pièces_réceptionnées.[Date Expedition], Pièces_réceptionnées.[Date Livraison], Pièces_réceptionnées.[Date de Relance], Pièces_réceptionnées.[Date Reception], Pièces_réceptionnées.[Reference Article], Pièces_réceptionnées.[Type Article], Pièces_réceptionnées.Dim1, Pièces_réceptionnées.Dim2, Pièces_réceptionnées.Dim3, Pièces_réceptionnées.[No Plan], Pièces_réceptionnées.[Indice Plan], Pièces_réceptionnées.[No Matiere], Pièces_réceptionnées.[Designation Article], Pièces_réceptionnées.[Reference Externe], Pièces_réceptionnées.[Quantite du Besoin], Pièces_réceptionnées.[Longueur Besoin], Pièces_réceptionnées.[Unite du Besoin], Pièces_réceptionnées.[Quantite Cmdee], Pièces_réceptionnées.[Longueur Cmdee], Pièces_réceptionnées.[Unite Lg Cmdee], Pièces_réceptionnées.[Unite Cmde], Pièces_réceptionnées.[Quantite Livree], Pièces_réceptionnées.[Quantite Facturee], Pièces_réceptionnées.[Prix Unitaire], Pièces_réceptionnées.[Unite Achat], Pièces_réceptionnées.Coupe, Pièces_réceptionnées.[Rapport d'Unite], Pièces_réceptionnées.Expedier, Pièces_réceptionnées.[Qte expediee], Pièces_réceptionnées.[Qte Derniere Exped], Pièces_réceptionnées.[Qte Rebut], Pièces_réceptionnées.[Lg Rebut], Pièces_réceptionnées.[Unite Rebut], Pièces_réceptionnées.Société, Pièces_réceptionnées.[Code Fournisseur], Pièces_réceptionnées.Nom, Pièces_réceptionnées.Conforme, Pièces_réceptionnées.Qté_non_conforme
    FROM Pièces_réceptionnées
    WHERE (((Pièces_réceptionnées.[Type Element])=[qd_type_element]) AND ((Pièces_réceptionnées.[Reference Article])=[qd_reference]) AND ((Pièces_réceptionnées.[Type Article])=[qd_type_article]) AND ((Pièces_réceptionnées.Dim1)=[qd_dim1]) AND ((Pièces_réceptionnées.Dim2)=[qd_dim2]) AND ((Pièces_réceptionnées.Dim3)=[qd_dim3]) AND ((Pièces_réceptionnées.[No Plan])=[qd_Nplan]) AND ((Pièces_réceptionnées.[Indice Plan])=[qd_Indiceplan]) AND ((Pièces_réceptionnées.[Designation Article])=[qd_designation]) AND ((Pièces_réceptionnées.Société)=[qd_societe]) AND ((Pièces_réceptionnées.[Code Fournisseur])=[qd_code_fournisseur]) AND ((Pièces_réceptionnées.Nom)=[qd_nom]))
    ORDER BY Pièces_réceptionnées.[Date Reception] DESC;
     
     
    Merci d'avance de votre aide !

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Je n'ai pas trés bien compris ta question ...

    Tu es sous Visual Basic 6 ou VBA ?

    Comment passes tu tes paramètres à ta requête ?

    En attendant, vu que tu ne travailles que sur une seule table, tu n'es pas obigé de préfixer les champs avec le nom de la table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT [No Cmde], [Ligne Cmde], [Type Element], Etat, [Date Cmde], [Date Expedition], [Date Livraison], [Date de Relance], [Date Reception], [Reference Article], [Type Article], Dim1, Dim2, Dim3, [No Plan], [Indice Plan], [No Matiere], [Designation Article], [Reference Externe], [Quantite du Besoin], [Longueur Besoin], [Unite du Besoin], [Quantite Cmdee], [Longueur Cmdee], [Unite Lg Cmdee], [Unite Cmde], [Quantite Livree], [Quantite Facturee], [Prix Unitaire], [Unite Achat], Coupe, [Rapport d'Unite], Expedier, [Qte expediee], [Qte Derniere Exped], [Qte Rebut], [Lg Rebut], [Unite Rebut], Société, [Code Fournisseur], Nom, Conforme, Qté_non_conforme 
    FROM Pièces_réceptionnées 
    WHERE [Type Element]=[qd_type_element] AND [Reference Article]=[qd_reference] AND [Type Article]=[qd_type_article] AND Dim1=[qd_dim1] AND Dim2=[qd_dim2] AND Dim3=[qd_dim3] AND [No Plan]=[qd_Nplan] AND [Indice Plan]=[qd_Indiceplan] AND [Designation Article]=[qd_designation] AND Société=[qd_societe] AND [Code Fournisseur]=[qd_code_fournisseur] AND Nom=[qd_nom] 
    ORDER BY [Date Reception] DESC;

  3. #3
    Membre émérite Avatar de Civodul4
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    2 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 2 157
    Points : 2 595
    Points
    2 595
    Par défaut
    Je suis en VBA ! En fait, le probleme est le même avec une requête et un seul champs !

    Donnons nous en condition de départ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Pièces_réceptionnées.[No Plan]
    FROM Pièces_réceptionnées
    WHERE (((Pièces_réceptionnées.[No Plan])=[paramètre]));
    Si la valeur du paramètre est null alors ma requête ne merenvoie aucun enregistrement or dans la table certains enregistrement on pour valeur null !

    La seule syntaxe qui fonctionne est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Pièces_réceptionnées.[No Plan]
    FROM Pièces_réceptionnées
    WHERE (((Pièces_réceptionnées.[No Plan]) Is Null));
    Comment passer Null en paramètre ?

  4. #4
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Pièces_réceptionnées.[No Plan] 
    FROM Pièces_réceptionnées 
    WHERE Nz(Pièces_réceptionnées.[No Plan],"")=[paramètre]

    et tu passes non pas null mais ""

    Le problème est que l'on ne fait plus de différence entre les chaines vides et les valeurs non renseignées

  5. #5
    Membre émérite Avatar de Civodul4
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    2 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 2 157
    Points : 2 595
    Points
    2 595
    Par défaut
    J'avais bien pensé à passer la chîne vide mais cela ne fonctionne pas mieux !

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 71
    Points : 77
    Points
    77
    Par défaut
    Je pense que tu n'as pas le choix, tu dois modifier ta requête selon que la valeur passée soit Null ou non.

    Ou alors essaie un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Pièces_réceptionnées.[No Plan] 
    FROM Pièces_réceptionnées 
    WHERE Nz(Pièces_réceptionnées.[No Plan],"")=Nz([paramètre],"")

  7. #7
    Membre émérite Avatar de Civodul4
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    2 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 2 157
    Points : 2 595
    Points
    2 595
    Par défaut
    Apparemment cela semble passer avec Nz(Valeur, "" )

    Je teste et je clos le topic !

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Si c'est le paramêtre qui peut être null alors essai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE (Pièces_réceptionnées.[No Plan]=IIF([paramètre]<>null,parametre,Pièces_réceptionnées.[No Plan]))
    Amicalement

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

Discussions similaires

  1. Entrer la valeur d'un paramètre dans une requête paramétrée
    Par emeric2502 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 22/11/2014, 20h22
  2. Réponses: 1
    Dernier message: 30/01/2008, 19h41
  3. Réponses: 6
    Dernier message: 24/07/2006, 15h22
  4. [JpGraph] Passage d'un tableau en paramètre dans une URL pour JPgraph
    Par crazydiver_e2 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 16/01/2006, 16h15
  5. Passage de paramètres dans une requête imbriquée
    Par DrakkoFR dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/02/2005, 12h46

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