Requête paramétrée liste déroulante formulaire
SILBA31
Messages postés
37
Date d'inscription
Statut
Membre
Dernière intervention
-
Tessel75 -
Tessel75 -
Bonjour,
J'utilise un certain nombre de requêtes paramétrés. Pour éviter à l'utilisateur d'entrer le paramètre en entier dans la boîte de dialogue j'ai créé des formulaires avec liste déroulante contenant l'ensemble des choix possibles pour un paramètre.
Ma requête de base est:
Elle fonctionne parfaitement.
J'ai créé ce formulaire:

Le formulaire s'appelle FrmArchitecture et la liste déroulante s'appelle TxtArchitecture.
J'ai donc modifié la requête ci-dessus de cette façon:
Malheureusement la requête ne semble pas prendre en compte le paramètre sélectionné dans la liste déroulante.
La requête s'exécute mais sans critère sur le champ "Architecture".
Savez-vous d'où peut venir ce problème?
Merci d'avance :)
J'utilise un certain nombre de requêtes paramétrés. Pour éviter à l'utilisateur d'entrer le paramètre en entier dans la boîte de dialogue j'ai créé des formulaires avec liste déroulante contenant l'ensemble des choix possibles pour un paramètre.
Ma requête de base est:
PARAMETERS [Architecture] Text ( 255 ); SELECT [Architectures-besoins].Architecture, [Architectures-besoins].Besoin, Besoins.Module, Besoins.Description FROM [Architectures-besoins] INNER JOIN Besoins ON [Architectures-besoins].Besoin = Besoins.Besoin WHERE ((([Architectures-besoins].Architecture)=[Architecture])) ORDER BY [Architectures-besoins].Besoin;
Elle fonctionne parfaitement.
J'ai créé ce formulaire:

Le formulaire s'appelle FrmArchitecture et la liste déroulante s'appelle TxtArchitecture.
J'ai donc modifié la requête ci-dessus de cette façon:
PARAMETERS [forms]![FrmArchitecture]![TxtArchitecture] Long; SELECT [Architectures-besoins].Architecture, [Architectures-besoins].Besoin, Besoins.Module, Besoins.Description FROM [Architectures-besoins] INNER JOIN Besoins ON [Architectures-besoins].Besoin = Besoins.Besoin WHERE ((([Architectures-besoins].Architecture)=[Architecture])) ORDER BY [Architectures-besoins].Besoin;
Malheureusement la requête ne semble pas prendre en compte le paramètre sélectionné dans la liste déroulante.
La requête s'exécute mais sans critère sur le champ "Architecture".
Savez-vous d'où peut venir ce problème?
Merci d'avance :)
A voir également:
- Access requête paramétrée avec liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
- Hns-self-wan-access-ipv6 ✓ - Forum Réseau
8 réponses
Re-Bonjour,
Pour entrer des paramètres dans une requête il faut avoir une syntaxe du type :
"[Champ] = Forms!NomFormulaire!NomDuControle"
Où [Champ] = nom du champ dans la requête
NomFormulaire = Nom du formulaire courant
NomDuControle = Nom du contrôle où est entré le paramètre en liste déroulante ou non.
Bonne suite
Pour entrer des paramètres dans une requête il faut avoir une syntaxe du type :
"[Champ] = Forms!NomFormulaire!NomDuControle"
Où [Champ] = nom du champ dans la requête
NomFormulaire = Nom du formulaire courant
NomDuControle = Nom du contrôle où est entré le paramètre en liste déroulante ou non.
Bonne suite
Rebonjour Tessel75,
le nom du champ est Architecture.
J'ai appliqué la syntaxe que du me donne:
Malheureusement j'ai le message d'erreur suivant:
Erreur de syntaxe dans la clause Parameter
J'ai essayé plusieurs combinaisons avec des crochets, sans crochets, sans le paramètre "Long", etc mais j'ai toujours le même message d'erreur.
le nom du champ est Architecture.
J'ai appliqué la syntaxe que du me donne:
PARAMETERS [Architecture] = [forms]![FrmArchitecture]![TxtArchitecture] Long; SELECT [Architectures-besoins].Architecture, [Architectures-besoins].Besoin, Besoins.Module, Besoins.Description FROM [Architectures-besoins] INNER JOIN Besoins ON [Architectures-besoins].Besoin = Besoins.Besoin WHERE ((([Architectures-besoins].Architecture)=[Architecture])) ORDER BY [Architectures-besoins].Besoin;
Malheureusement j'ai le message d'erreur suivant:
Erreur de syntaxe dans la clause Parameter
J'ai essayé plusieurs combinaisons avec des crochets, sans crochets, sans le paramètre "Long", etc mais j'ai toujours le même message d'erreur.
Tu ne m'as pas du tout compris. La syntaxe que je t'indiquais ne concernait pas la ligne :"Parameters" , dont tu n'as besoin que dans des cas assez rares; tu t'en rends compte quand tu es sûr de toi, et que ça ne marche pas. La syntaxe concernait l'expression paramétrée :
"Where [Champ] = Forms!NomFormulaire!NomDuControle "
Mais si tes noms de table et de champ étaient moins compliqués, tu t'y retrouverais bien plus facilement.
"Where [Champ] = Forms!NomFormulaire!NomDuControle "
Mais si tes noms de table et de champ étaient moins compliqués, tu t'y retrouverais bien plus facilement.
Parfait merci j'ai fini par y arriver grâce à tes explications.
Sais-tu si il est possible de faire à peu près la même chose mais pour sélectionner un champ à partir d'un formulaire?
Par exemple replacer ceci:
par cela:
Tel que je l'ai fait cela ne fonctionne pas mais bon ça serait trop simple si la technique était directement transposable ;)
Sais-tu si il est possible de faire à peu près la même chose mais pour sélectionner un champ à partir d'un formulaire?
Par exemple replacer ceci:
SELECT Applications.Module, Applications.Description FROM Applications WHERE (((Applications.[Effective delivery Date (W version)])<[forms]![FrmEDD]![DTPicker]));
par cela:
SELECT Applications.Module, Applications.Description FROM Applications WHERE (((Applications.[forms]![FrmEDD]![Date])<[forms]![FrmEDD]![DTPicker]));
Tel que je l'ai fait cela ne fonctionne pas mais bon ça serait trop simple si la technique était directement transposable ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non, ce n'est pas possible, parce que ce n'est pas la valeur d'un contrôle dans un formulaire que tu sélectionnes mais une valeur dans un champ à l'aide de la valeur d'un contrôle.
Bonne suite
Bonne suite
En fait je possède une table nommée application ayant en gros les champ suivants:
ID Date1 Date2 Date3
Grâce à cette requête, je suis capable de sélectionner l'ensemble des lignes pour laquelle la date est antérieur à une date cible entrée par l'utilisateur dans un formulaire:
Dans cet exemple Date1=Effective delivery Date (W version)
J'aimerais pouvoir effectuer mon tri sur Date2 ou Date3 par exemple en laissant ce choix à l'utilisateur. Je voudrais donc inclure une nouvelle liste déroulante dans mon formulaire avec les éléments Date1,Date2,Date3,... et que la requête soit modifiée en conséquence pour qu'elle s'applique au champ (Date2 par exemple) sélectionné par l'utilisateur.
Merci d'avance
ID Date1 Date2 Date3
Grâce à cette requête, je suis capable de sélectionner l'ensemble des lignes pour laquelle la date est antérieur à une date cible entrée par l'utilisateur dans un formulaire:
SELECT Applications.Module, Applications.Description FROM Applications WHERE (((Applications.[Effective delivery Date (W version)])<[forms]![FrmEDD]![DTPicker]));
Dans cet exemple Date1=Effective delivery Date (W version)
J'aimerais pouvoir effectuer mon tri sur Date2 ou Date3 par exemple en laissant ce choix à l'utilisateur. Je voudrais donc inclure une nouvelle liste déroulante dans mon formulaire avec les éléments Date1,Date2,Date3,... et que la requête soit modifiée en conséquence pour qu'elle s'applique au champ (Date2 par exemple) sélectionné par l'utilisateur.
Merci d'avance
Re-...
il suffit que tu sélectionnes les réponses aux questions sur les requêtes en "cascade".
La question a été posée à de multiples occasions. Ici des réponses qui ont déjà été données mais tu peux en trouver beaucoup d'autres.
http://www.commentcamarche.net/forum/affich-27398079-liste-deroulante
ou
http://www.commentcamarche.net/forum/affich-27255265-requete-parametree
Je pense que tu trouveras là ce que tu cherches.
Bonne suite
il suffit que tu sélectionnes les réponses aux questions sur les requêtes en "cascade".
La question a été posée à de multiples occasions. Ici des réponses qui ont déjà été données mais tu peux en trouver beaucoup d'autres.
http://www.commentcamarche.net/forum/affich-27398079-liste-deroulante
ou
http://www.commentcamarche.net/forum/affich-27255265-requete-parametree
Je pense que tu trouveras là ce que tu cherches.
Bonne suite