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

Requêtes et SQL. Discussion :

ignorer "enter parameter value"


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 61
    Points : 43
    Points
    43
    Par défaut ignorer "enter parameter value"
    Bonjour à tous,

    Comment peut-on faire pour ignorer le message "enter parameter value" lors de l'execution d'une requete ?

    Voici : j'ai une requete de mise à jour d'une table. les enregistrements à mettre à jour sont filtrés selon deux formulaires.
    Dont j'ai crée une requete qui est utilisée par les deux formulaires. Donc dans ma requete pour les criteres j'ai mis ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Forms]![Formulaire1]![Champ1] Or [Forms]![Formulaire2]![Champ2]
    Le probleme c'est que lorsque j'utilise la requete avec le formulaire 1 j'ai le message "enter parameter value" et access me demande la valeur de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms]![Formulaire2]![Champ2]
    .

    Donc comment faut-il faire pour ignorer ce message pour qu'il n'apparaisse plus ? (avec du VBA ?)

    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Points : 121
    Points
    121
    Par défaut
    tu peux mettre la requete pour que l'on comprenne mieux ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 61
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par gui-llaume Voir le message
    tu peux mettre la requete pour que l'on comprenne mieux ?
    Voici la requete en SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE ExtCostsInvDet INNER JOIN tblEXTCOSTS ON ExtCostsInvDet.ExtCoID = tblEXTCOSTS.ExtCoID SET tblEXTCOSTS.ExtCoReal = ExtCostsInvDet.CostInvDet, tblEXTCOSTS.ExtCoFee = tblEXTCOSTS.ExtCoDays*tblEXTCOSTS.ExtCoDayRate, tblEXTCOSTS.ExtCoBalance = tblEXTCOSTS.ExtCoFee-tblEXTCOSTS.ExtCoReal
    WHERE (((tblEXTCOSTS.ExtCoID)=[Forms]![frmExtCosts]![ExtCoID] Or (tblEXTCOSTS.ExtCoID)=[Forms]![frmExtCostAdd]![fsubExtCostAdd].[Form]![ExtCoID]));
    et c'est donc sur le Where que j'obtiens le message "enter parameter value" puisque si j'execute la requette du formulaire frmExtCosts, il cherche également la valeur du champ sur l'autre formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (tblEXTCOSTS.ExtCoID)=[Forms]![frmExtCostAdd]![fsubExtCostAdd].[Form]![ExtCoID]))
    donc c'est la que je voudrais faire disparaitre ce message.

    A part ca la requete en elle meme fonctionne tres bien et je n'obtiens par le message d'erreur si dans le where j'ai que un seul formulaire.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 262
    Points : 121
    Points
    121
    Par défaut
    effectivement , tu ne peux pas passer ta requete telle quelle si une donnée à laquelle tu fais référence n'existe pas.

    je pense que tu devrais chercher vers la fonction nz qui va te renvoyer une valeur paramétrable si la valeur de ton champs (ici ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Forms]![Formulaire1]![Champ1] Or [Forms]![Formulaire2]![Champ2]
    )

    de cette maniere, la requete ne te demanderas plus d'entrer un parametre !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE ExtCostsInvDet INNER JOIN tblEXTCOSTS ON ExtCostsInvDet.ExtCoID = tblEXTCOSTS.ExtCoID SET tblEXTCOSTS.ExtCoReal = ExtCostsInvDet.CostInvDet, tblEXTCOSTS.ExtCoFee = tblEXTCOSTS.ExtCoDays*tblEXTCOSTS.ExtCoDayRate, tblEXTCOSTS.ExtCoBalance = tblEXTCOSTS.ExtCoFee-tblEXTCOSTS.ExtCoReal
    WHERE (((tblEXTCOSTS.ExtCoID)=NZ([Forms]![frmExtCosts]![ExtCoID];0) Or (tblEXTCOSTS.ExtCoID)=NZ([Forms]![frmExtCostAdd]![fsubExtCostAdd].[Form]![ExtCoID];0)));

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 61
    Points : 43
    Points
    43
    Par défaut
    Merci pour ta réponse

    c'est une bonne idée mais ca n'a pas l'air de marcher.

    Pour la function Nz c'est une virgule qu'il faut utiliser au lieu du point virgule

    Nz(Variable,"Valeur_si_nulle")

    Le champ en question est Long Integer, est ce que ca pause un probleme ? Parce qu'il me semble que Nz utilise des variables de type de données Variant.

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 929
    Points
    55 929
    Billets dans le blog
    131
    Par défaut
    Bonsoir

    Personnellement, mais je peux me tromper, je pense que utiliser NZ(...) ne résoudra pas le problème...

    Il me semble qu'il faut tester [Forms]![frmExtCosts]![ExtCoID] en VBA, et construire la requête sans le Where [Forms]![frmExtCosts]![ExtCoID] s'il n'existe pas ou avec s'il existe

Discussions similaires

  1. [AC-2010] Enter parameter value qui n existe plus
    Par ultima67 dans le forum IHM
    Réponses: 3
    Dernier message: 15/10/2012, 22h16
  2. [AC-2003] access affichage Enter parameter value
    Par jano31 dans le forum IHM
    Réponses: 3
    Dernier message: 17/12/2009, 09h01
  3. Enter parameter value
    Par steph05 dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/10/2007, 12h24
  4. Echappement de quote dans input/value
    Par pc.bertineau dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/09/2007, 14h27

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