Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2034 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [access] query parametre multicritere

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[access] query parametre multicritere

n°177463
ricoco
Posté le 16-07-2002 à 23:35:41  profilanswer
 

Hello !
dans les requetes access, on peut récupéré un valeur saisie dans une boite de dialogue ou dans un champ texte d'un formulaire
 
autrement dit la chaine de caractère sert de critere
 
est-il possible de faire passer une chaine de caractère qui contient des critères du genre
"012" ou "015" ou "016"
 
j'arrive seulement à faire passer un critère à la fois
:jap:


Message édité par ricoco le 16-07-2002 à 23:44:28
mood
Publicité
Posté le 16-07-2002 à 23:35:41  profilanswer
 

n°177479
Mara's dad
Yes I can !
Posté le 17-07-2002 à 00:18:35  profilanswer
 

Essayes avec In("012", "015", "016" )


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°177486
ricoco
Posté le 17-07-2002 à 00:45:55  profilanswer
 

Mara's dad a écrit a écrit :

Essayes avec In("012", "015", "016" )
 




mon problème est pour quand le critère vient de l'extérieur (formulaire) donc les critères sont un paramètre ou une variable si tu préfères
 
les critères directement dans la requête elle meme je n'ai pas de pb  
 
par ex une zone de texte nommée "varpar" dans un formulaire [form1] dans la zone de texte, je saisie :
In("012", "015", "016" )  
 
 
dans une requête, je mets comme critère :
[forms]![form1]![varpar]
ca marche seulement si varpar ne contient qu'un chiffre c'est à dire un seul critère
 

n°177496
eck
Mangeur de lumiere
Posté le 17-07-2002 à 01:56:10  profilanswer
 

je connait très bien visual basic et SQL mais là je comprend pas trop le problème.
 
c'est quoi ta requête finale (fais un msgbox pour voir) ?

n°177500
ricoco
Posté le 17-07-2002 à 08:00:17  profilanswer
 

eck a écrit a écrit :

je connait très bien visual basic et SQL mais là je comprend pas trop le problème.
 
c'est quoi ta requête finale (fais un msgbox pour voir) ?




c'est pour une simple requête sélection
sauf que pour un champ les critères viennent de l'extérieur
 
pour un seul critère par exemple "012", pas de pb ça donne :
IF table.champ = formulaire.critere
ca marche bien
 
par contre, si le critère contient aussi un oprérateur
'012' ou '015'
ca passe pas il faut que je puisse signaler à access que le "OU" n'est pas un critère mais un operateur
j'ai l'impression qu'il traite ma requête de la facon suivante
IF table.champ = "012 ou 015"
 
j'aimerais plutot qu'il l'interprete comm :
IF table.champ = "012" ou "015"
 
 
 

n°177577
waltzx6r
Posté le 17-07-2002 à 09:50:50  profilanswer
 

ok ! je vois ton probleme.
 
Je pense qu'il va falloir que tu ajoute un peu de code pour contruire ta requete manuellement
 
replacer "012 ou 015"  par table.champ = "012" ou table.champ = "015"  
 
Faire une sorte d'analyse des criteres pour gerer tous les cas possible ( ET, OU, NOT, etc. ) et generer la requete en dynamique
 
 
Ca fait pas mal de temps que je n'ai pas fait de MS Access. Peut etre que dans la derniere version il est capable de faire ca tout seul mais j'en doute  :heink:

n°177589
Mara's dad
Yes I can !
Posté le 17-07-2002 à 09:58:19  profilanswer
 

D'après ce que j'ai essayé, il me semble aussi que la seule solution soit de construire la requête à la main.
 
Si dans ton critere tu saisis:
'012', '015', '016'
 
tu devrais pouvoir générer une requête du genre :
 
"select * from MaTable where MonChamp in( " + critere + " );";


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°177869
ricoco
Posté le 17-07-2002 à 14:49:11  profilanswer
 

merci mais je n'arrive pas à lui faire avaler ça
Mara's dad, je pense que la méthode que tu cites est valide en VBA car avec le générateur de requête quelque soit la méthode que je choisis je suis seulement parvenu à obtenir qq dans le cas ou il y a un seul critère passé sous forme de paramètre ex : '012'
 
sinon si on utilise du VBA genre docmd.runsql "..." est-ce qu'il est possible d'utiliser le résultat dans une autre requête ?
 
l'objecti étant d'utiliser le résultat uniquement dans un état.
 
:jap:

n°177892
Mara's dad
Yes I can !
Posté le 17-07-2002 à 15:14:26  profilanswer
 

Je ne comprends pas "est-ce qu'il est possible d'utiliser le résultat dans une autre requête ?"
 
Tu as 2 requêtes SQL ? ? ?
 
Sinon, pour l'état, tu peux modifier la requête sur laquelle il est basé en VBA !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°177894
Mara's dad
Yes I can !
Posté le 17-07-2002 à 15:21:28  profilanswer
 

Exemple pour un report :
 
Private Sub Report_Open(Cancel As Integer)
 
critere = "'015', '016'"
Me.RecordSource = "select * from MaTable where MonChamp in( " + critere + " );"
 
End Sub


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le 17-07-2002 à 15:21:28  profilanswer
 

n°178248
ricoco
Posté le 17-07-2002 à 21:25:17  profilanswer
 

Mara's dad a écrit a écrit :

Exemple pour un report :
 
Private Sub Report_Open(Cancel As Integer)
 
critere = "'015', '016'"
Me.RecordSource = "select * from MaTable where MonChamp in( " + critere + " );"
 
End Sub




je n'ai pas encore testé mais merci je ne connaissais pas
en fait c'est pour une refonte des états existant suite une modif dans la base de données !
pratiquement 90 % des requêtes sont utilisees pour des états
et certains états utilisent plusieurs requêtes
 
:jap:


Message édité par ricoco le 17-07-2002 à 21:25:30

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [access] query parametre multicritere

 

Sujets relatifs
prob d'insertion d'enregistrement dans une DB access 97 [ Résolu ! ]PROBLEME DE PILOTAGE D'EXCEL DEPUIS ACCESS
[Access vba] comptage d'enregistrements dans un sous formulaire[ACCESS] fonction date
[Access 2000] pb d'utilisation de "Format"[Access] & [Mac] est il possible de créer une bd sur un PC....
[Access] Format des textes: comment affcher une texte verticalement ??[Access] Fusion vers Excel?
[Automation OLE] Access + Visual C++Access -> MySQL
Plus de sujets relatifs à : [access] query parametre multicritere


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR