OVH Cloud OVH Cloud

Problème dans une requête

3 réponses
Avatar
Dominique Vieille
Bonjour,
Comment forcer le critére dans une requête à partir d'un controle texte dans
un formulaire? Par exemle j'ai 4 enregistrements A/B/C/D dans ma requête en
écrivant dans le controle A la requête retourne l'enregistrement A , si
j'écris A Ou B la requête ne retourne rien! j'ai éssayé d'autres
combinaisons comme "A" Ou "B". Y a t-il une solution, sans être obligé
d'écrire la requête en SQL par VBA?

Merci
Dominique

3 réponses

Avatar
joyeux atchoum
S'lt

Comment forcer le critére dans une requête à partir d'un controle texte dans
un formulaire? Par exemle j'ai 4 enregistrements A/B/C/D dans ma requête en
écrivant dans le controle A la requête retourne l'enregistrement A , si
j'écris A Ou B la requête ne retourne rien! j'ai éssayé d'autres
combinaisons comme "A" Ou "B".
Y a t-il une solution, sans être obligé d'écrire la requête en SQL par VBA?


C'est pourtant la meilleure (et je pense la seule) possibilité.


N'y aurait il pas aussi la solution de faire apparaitre les données
dans un formulaire.
Et d'utiliser la propriété Filter dudit form en fonction du critére mis
dans le premier form

ça evite de refaire le code SQL, c'est pas optimum

ou bien de creer un recordsource en fonction d'une requete initiale
plus un critére provenant d'un form
(tiens je crois que c'est toi 3stone qui m'a appris cette dernier
astuce)


ja:)
qui constate que son post est un poil indigeste aprés relecture :)


Avatar
3stone
Salut,

joyeux atchoum

N'y aurait il pas aussi la solution de faire apparaitre les données
dans un formulaire.
Et d'utiliser la propriété Filter dudit form en fonction du critére mis
dans le premier form


Bien sûr, on peut toujours filtrer un formulaire...
mais cela ramene tout le *bazard* sur le PC...

Veiller a ne filtrer que des enregistrements que tu as de toutes facons besoin !
Si tu as 50 enregistrements sur lesquels tu travaille, tu peux filtrer
Si tu en as 10000 et que tu en "recherche" un et avec un filtre :-((


ça evite de refaire le code SQL, c'est pas optimum


refaire le SQL n'est pas optimum ???

Si tu "reconstruit" ta source ainsi :
Select toto, tata from table Where PK = xyz
ou
Select toto, tata from table Where titi = zzz ' titi étant un champ indexé...

tu ne ramene que cet enregistrement...
Le jour ou tu mets ton appli sur le réseau... ca passe nickel.

Si par contre, tu as pris l'habitude de "filtrer" les formulaires
Aie aie aie....... alors que, en local... cela semble parfait !



ou bien de creer un recordsource en fonction d'une requete initiale
plus un critére provenant d'un form


Le mieux étant de ramener le minimum avec une clause Where
sur une champ indexé et d'affiner éventuelement avec un filtre.


--
A+
Pierre (3stone) Access MVP
--------------------------------------
Une pour tous, tous pour une ;-)
http://users.skynet.be/mpfa/
--------------------------------------

Avatar
joyeux atchoum
S'lt

Et d'utiliser la propriété Filter dudit form en fonction du critére mis
dans le premier form
Bien sûr, on peut toujours filtrer un formulaire...

mais cela ramene tout le *bazard* sur le PC...

ça evite de refaire le code SQL, c'est pas optimum
refaire le SQL n'est pas optimum ???



ben c'est tout ce que tu viens de dire en tres light ;)
c'etait une conclusion pas l'intro de la suite ;)
le filtre dispense d'un gros codage SQL mais ça a ses incovenients

Si par contre, tu as pris l'habitude de "filtrer" les formulaires
Aie aie aie....... alors que, en local... cela semble parfait !


ben non
vu que depuis que tu m'as expliqué le truc much
je passe (presque) toujours par la creation d'un recordsource avec
clause where ;=)

ou bien de creer un recordsource en fonction d'une requete initiale
plus un critére provenant d'un form
Le mieux étant de ramener le minimum avec une clause Where

sur une champ indexé et d'affiner éventuelement avec un filtre.


Effectivement je parle tres mal en ce moment
Merci de donner une version bien plus compréhensible :)

ja;)
qui devrait vraiment tourner son clavier 7 fois
tiens faut que je pense à le nettoyer un de ces 4