Bonjour
Tout d'abord merci à tous les contributeurs de ce site qui me sauve depuis des années de problèmes insolubles à mon niveau. Rien qu'en passant du temps à consulter les sujets, j'en ai appris bien plus que dans n'importe quel bouquin ou formation.
voici mon problème:
J'ai créé un formulaire de recherche multicritères.
Je cherche à récupérer la valeur d'une liste de ce formulaire comme champ d'une requête en QBE et lui appliquer comme critère la valeur d'une autre liste du même formulaire.
Je récupère bien les 2 valeurs de mon formulaire mais pas moyen d'en mettre une comme nom de champ.
le paramètre de requête qui correspond à ce que je souhaite:
VraiFaux(nz([forms]![RechercheGlobale]![cbotexte];"")="";"null";[rqNaissancesCherchesBase].("[forms]![RechercheGlobale]![special]") = "*" & [forms]![RechercheGlobale]![cbotexte] & "*")
(j'ai mis "null" comme résultat dans le cas ou cboTexte est vide car c'est plus parlant que "")
cette partie-là:
[forms]![RechercheGlobale]![Special] est la valeur de la liste nommée Special qui doit se transformer en nom de champ de la requête rqNaissancesCherchesbase.
j'ai essayé toutes sortes d'écritures et même une fonction qui me retourne juste la valeur du contrôle.
VraiFaux(nz([forms]![RechercheGlobale]![cbotexte];"")="";"null";NomChampRq("RechercheGlobale";"Special";"rqNaissancesCherchesBase") = "*" & [forms]![RechercheGlobale]![cbotexte] & "*")
le résultat de ce champ est toujours 0, ce que j'interprête comme le résultat de :
valeur de [forms]![RechercheGlobale]![special] <> valeur de [forms]![RechercheGlobale]!cboTexte].
alors que je cherche à avoir:
nom du champ de [forms]![RechercheGlobale]![special] = valeur de [forms]![RechercheGlobale]!cboTexte].
une précision: dès lors que le champ cboTexte est rempli, le champ Special l'est aussi, il n'est donc jamais vide dans le critère.
Par ailleurs, la formulation de ce paramètre marche parfaitement avec tous les autres champs de mon formulaire dès lors que je nomme le champ de ma requête directement sous la forme [rqNaissancesCherchesbase].[champ_requête].
J'ai réussi à les créer grâce à tous les topics que j'ai lus ici sur la fonction NZ et les champs nuls, et je vous en remercie tous.
je sais qu'en VBA tout ceci serait sans doute plus simple.
Mais je voudrais simplifier mon code au maximum et la création de requêtes enregistrées paramétrables m'a semblé la meilleure solution.
Sinon, peut-être est-il possible de créer une sous-requête? mais je bloque toujours sur le même passage de la valeur d'un contrôle à un nom de champ.
Merci d'avance de votre aide
Partager