Requete critere multiple dans un champ

Le
Verreux Pierre
Bonjour,
version ACCESS 2003
Dans une requête, j'impute manuellement plusieurs critères dans un champ
ex : champ1
Critères : 1 et 5 et 7 et 8
Lorsque je lance la requête avec cette imputation manuelle, ça fontionne
très bien. J'ai créer un formulaire me permenttant d'envoyer ces paramètres
a ma requête,
si je rentre 1 seul critère, ça fonctionne, par contre lorsque j'en rentre
plusieurs, imposible d'obtenir un résultat. J'ai essayé d'envoyer
de plusieures manières : 1 et 5 et 7 et 8
1 or 5 or 7 et 8
1 and 5 and 7 and 8
Rien de tout ça fonctionne. Pouvez vous m'aider ?
Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #18344771
Verreux Pierre a écrit :
Bonjour,
version ACCESS 2003
Dans une requête, j'impute manuellement plusieurs critères dans un champ
ex : champ1
Critères : 1 et 5 et 7 et 8
Lorsque je lance la requête avec cette imputation manuelle, ça fontionne
très bien. J'ai créer un formulaire me permenttant d'envoyer ces paramètres
a ma requête,
si je rentre 1 seul critère, ça fonctionne, par contre lorsque j'en rentre
plusieurs, imposible d'obtenir un résultat. J'ai essayé d'envoyer
de plusieures manières : 1 et 5 et 7 et 8
1 or 5 or 7 et 8
1 and 5 and 7 and 8
Rien de tout ça fonctionne. Pouvez vous m'aider ?
Merci




Salut,
Peux tu nous donner le source de ta requete ?
Qu'entend tu par 'envoyer les parametres' ?
@+
Verreux Pierre
Le #18345031
Bonjour Fabien, merci pour votre réponse.
- La source de ma requete est une table qui contient les données de
remplissage de camions.
- De cette table je regroupe les donnees par véhicule.
- J'ai créé un formulaire dans lequel j'ai une liste déroulante qui me
permet de séléctionner un ou des véhicules (grace à votre post d'hier !)
Lorsque je sélectionne un ou des véhicules dans cette liste, je garde en
paramètre le n° de chaque véhicule, ensuite à l'aide d'un bouton de
commande, j'envois ma requête qui contient les dis paramètres. J'interroge
donc sur un seul champ (n°véhicule) 1 ou plusieurs critères de séléction. Là
ou se situe mom problème, c'est que lorsque je demande 1 seul véhicule, ça
marche. Plusieurs, ça ne fonctionne pas. Lorsque j'impute manuellement dans
ma requète (a l'aide de l'éditeur) en critère sur le champ n°véhicule : "1"
et "5" et "7" par exemple, ça fonctionne. Dans mes projets, j'ai déjà lancer
une requète depuis VBA multi-critères sans problèmes, mais je n'ai pas
encore été confronté a rentrer plusieurs critères pour un même champ :
En SQL l'editeur me donne ceci :
SELECT Tankages.CARNR, Min(Tankages.TANKDAT) AS [Date début],
Last(Tankages.TANKDAT) AS [Date fin], First(Tankages.KILOMETRES) AS [Kms
début], Last(Tankages.KILOMETRES) AS [Kms fin], Sum(Tankages.TANKQUANTI) AS
Consommation
FROM Tankages
GROUP BY Tankages.CARNR
HAVING (((Tankages.CARNR)=1 And (Tankages.CARNR)=5 And (Tankages.CARNR)=7));

-Je n'arrive pas le traduire en VBA, voici mon code :

Dim strfiltre As String
Dim strsql As String, filtreEtat As String
'Filtre véhicule'
strfiltre = ""
If Not IsNull(Me.critere) Then
strfiltre = Me.critere
End If
'Appliquer le filtre dans le sous formulaire
strsql = "Select* from [Kms parcourus/consommation]"
If strfiltre <> "" Then strsql = strsql & " HAVING [CARNR]=" & strfiltre
Me.Sous_formulaire_kms_conso.Form.RecordSource = strsql
Me.Sous_formulaire_kms_conso.Form.Requery

Si vous pouvez m'aidez, merci d'avence.
@+

"Fabien" news:
Verreux Pierre a écrit :
> Bonjour,
> version ACCESS 2003
> Dans une requête, j'impute manuellement plusieurs critères dans un


champ
> ex : champ1
> Critères : 1 et 5 et 7 et 8
> Lorsque je lance la requête avec cette imputation manuelle, ça


fontionne
> très bien. J'ai créer un formulaire me permenttant d'envoyer ces


paramètres
> a ma requête,
> si je rentre 1 seul critère, ça fonctionne, par contre lorsque j'en


rentre
> plusieurs, imposible d'obtenir un résultat. J'ai essayé d'envoyer
> de plusieures manières : 1 et 5 et 7 et 8
> 1 or 5 or 7 et 8
> 1 and 5 and 7 and 8
> Rien de tout ça fonctionne. Pouvez vous m'aider ?
> Merci
>
>
Salut,
Peux tu nous donner le source de ta requete ?
Qu'entend tu par 'envoyer les parametres' ?
@+


Fabien
Le #18345291
Verreux Pierre a écrit :
Bonjour Fabien, merci pour votre réponse.
- La source de ma requete est une table qui contient les données de
remplissage de camions.
- De cette table je regroupe les donnees par véhicule.
- J'ai créé un formulaire dans lequel j'ai une liste déroulante qui me
permet de séléctionner un ou des véhicules (grace à votre post d'hier !)
Lorsque je sélectionne un ou des véhicules dans cette liste, je garde en
paramètre le n° de chaque véhicule, ensuite à l'aide d'un bouton de
commande, j'envois ma requête qui contient les dis paramètres. J'interroge
donc sur un seul champ (n°véhicule) 1 ou plusieurs critères de séléction. Là
ou se situe mom problème, c'est que lorsque je demande 1 seul véhicule, ça
marche. Plusieurs, ça ne fonctionne pas. Lorsque j'impute manuellement dans
ma requète (a l'aide de l'éditeur) en critère sur le champ n°véhicule : "1"
et "5" et "7" par exemple, ça fonctionne. Dans mes projets, j'ai déjà lancer
une requète depuis VBA multi-critères sans problèmes, mais je n'ai pas
encore été confronté a rentrer plusieurs critères pour un même champ :
En SQL l'editeur me donne ceci :
SELECT Tankages.CARNR, Min(Tankages.TANKDAT) AS [Date début],
Last(Tankages.TANKDAT) AS [Date fin], First(Tankages.KILOMETRES) AS [Kms
début], Last(Tankages.KILOMETRES) AS [Kms fin], Sum(Tankages.TANKQUANTI) AS
Consommation
FROM Tankages
GROUP BY Tankages.CARNR
HAVING (((Tankages.CARNR)=1 And (Tankages.CARNR)=5 And (Tankages.CARNR)=7));

-Je n'arrive pas le traduire en VBA, voici mon code :

Dim strfiltre As String
Dim strsql As String, filtreEtat As String
'Filtre véhicule'
strfiltre = ""
If Not IsNull(Me.critere) Then
strfiltre = Me.critere
End If
'Appliquer le filtre dans le sous formulaire
strsql = "Select* from [Kms parcourus/consommation]"
If strfiltre <> "" Then strsql = strsql & " HAVING [CARNR]=" & strfiltre
Me.Sous_formulaire_kms_conso.Form.RecordSource = strsql
Me.Sous_formulaire_kms_conso.Form.Requery

Si vous pouvez m'aidez, merci d'avence.
@+

"Fabien" news:
Verreux Pierre a écrit :
Bonjour,
version ACCESS 2003
Dans une requête, j'impute manuellement plusieurs critères dans un




champ
ex : champ1
Critères : 1 et 5 et 7 et 8
Lorsque je lance la requête avec cette imputation manuelle, ça




fontionne
très bien. J'ai créer un formulaire me permenttant d'envoyer ces




paramètres
a ma requête,
si je rentre 1 seul critère, ça fonctionne, par contre lorsque j'en




rentre
plusieurs, imposible d'obtenir un résultat. J'ai essayé d'envoyer
de plusieures manières : 1 et 5 et 7 et 8
1 or 5 or 7 et 8
1 and 5 and 7 and 8
Rien de tout ça fonctionne. Pouvez vous m'aider ?
Merci




Salut,
Peux tu nous donner le source de ta requete ?
Qu'entend tu par 'envoyer les parametres' ?
@+






Re
un truc me chiffonne : comment un meme enregistrement peut il avoir un
champ contenant 3 valeurs différentes en même temps?
Parce que le Having [CARNR]=1 and CARNR=5 and CARNR=7 veut dire que tu
cherche a retrouver les enregistrements qui contiennent un champ CARNR
qui aurait pour valeur 5 et 7 et 1 (Impossible !!!)
Je pense que tu veux les enreg dont le champs CARNR peut contenir soit
la valeur 5 ou bien la valeur 7 ou alors la valeur 1
Le filtre ne serait-il pas plutôt
If strfiltre <> "" Then strsql = strsql & " HAVING [CARNR] in (" &
strfiltre & ")"
Avec StrFiltre une chaine de code separés par des ,
ex : StrFiltre= "1,5,7,8"
@+
Verreux Pierre
Le #18346281
Merci Fabien, ça doit-être ça j'essaye au plus vite. Bon week-end, très
sympa de ta part de m'avoir accordé du temps.
@+

"Fabien" discussion :
Verreux Pierre a écrit :
Bonjour Fabien, merci pour votre réponse.
- La source de ma requete est une table qui contient les données de
remplissage de camions.
- De cette table je regroupe les donnees par véhicule.
- J'ai créé un formulaire dans lequel j'ai une liste déroulante qui me
permet de séléctionner un ou des véhicules (grace à votre post d'hier !)
Lorsque je sélectionne un ou des véhicules dans cette liste, je garde en
paramètre le n° de chaque véhicule, ensuite à l'aide d'un bouton de
commande, j'envois ma requête qui contient les dis paramètres.
J'interroge
donc sur un seul champ (n°véhicule) 1 ou plusieurs critères de séléction.

ou se situe mom problème, c'est que lorsque je demande 1 seul véhicule,
ça
marche. Plusieurs, ça ne fonctionne pas. Lorsque j'impute manuellement
dans
ma requète (a l'aide de l'éditeur) en critère sur le champ n°véhicule :
"1"
et "5" et "7" par exemple, ça fonctionne. Dans mes projets, j'ai déjà
lancer
une requète depuis VBA multi-critères sans problèmes, mais je n'ai pas
encore été confronté a rentrer plusieurs critères pour un même champ :
En SQL l'editeur me donne ceci :
SELECT Tankages.CARNR, Min(Tankages.TANKDAT) AS [Date début],
Last(Tankages.TANKDAT) AS [Date fin], First(Tankages.KILOMETRES) AS [Kms
début], Last(Tankages.KILOMETRES) AS [Kms fin], Sum(Tankages.TANKQUANTI)
AS
Consommation
FROM Tankages
GROUP BY Tankages.CARNR
HAVING (((Tankages.CARNR)=1 And (Tankages.CARNR)=5 And
(Tankages.CARNR)=7));

-Je n'arrive pas le traduire en VBA, voici mon code :

Dim strfiltre As String
Dim strsql As String, filtreEtat As String
'Filtre véhicule'
strfiltre = ""
If Not IsNull(Me.critere) Then
strfiltre = Me.critere
End If
'Appliquer le filtre dans le sous formulaire
strsql = "Select* from [Kms parcourus/consommation]"
If strfiltre <> "" Then strsql = strsql & " HAVING [CARNR]=" &
strfiltre
Me.Sous_formulaire_kms_conso.Form.RecordSource = strsql
Me.Sous_formulaire_kms_conso.Form.Requery

Si vous pouvez m'aidez, merci d'avence.
@+

"Fabien" news:
Verreux Pierre a écrit :
Bonjour,
version ACCESS 2003
Dans une requête, j'impute manuellement plusieurs critères dans un




champ
ex : champ1
Critères : 1 et 5 et 7 et 8
Lorsque je lance la requête avec cette imputation manuelle, ça




fontionne
très bien. J'ai créer un formulaire me permenttant d'envoyer ces




paramètres
a ma requête,
si je rentre 1 seul critère, ça fonctionne, par contre lorsque j'en




rentre
plusieurs, imposible d'obtenir un résultat. J'ai essayé d'envoyer
de plusieures manières : 1 et 5 et 7 et 8
1 or 5 or 7 et 8
1 and 5 and 7 and 8
Rien de tout ça fonctionne. Pouvez vous m'aider ?
Merci




Salut,
Peux tu nous donner le source de ta requete ?
Qu'entend tu par 'envoyer les parametres' ?
@+






Re
un truc me chiffonne : comment un meme enregistrement peut il avoir un
champ contenant 3 valeurs différentes en même temps?
Parce que le Having [CARNR]=1 and CARNR=5 and CARNR=7 veut dire que tu
cherche a retrouver les enregistrements qui contiennent un champ CARNR qui
aurait pour valeur 5 et 7 et 1 (Impossible !!!)
Je pense que tu veux les enreg dont le champs CARNR peut contenir soit la
valeur 5 ou bien la valeur 7 ou alors la valeur 1
Le filtre ne serait-il pas plutôt
If strfiltre <> "" Then strsql = strsql & " HAVING [CARNR] in (" &
strfiltre & ")"
Avec StrFiltre une chaine de code separés par des ,
ex : StrFiltre= "1,5,7,8"
@+


Publicité
Poster une réponse
Anonyme