Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Condition dans une requête

18 réponses
Avatar
Philippe
Bonjour,

N'ayant pas de réponse dans mon post précédent je reformule ma question
autrement.

Dans ma requête (sous formulaire) pour lire les éléments sélectionnés dans
la liste, peut-on écrire quelque chose comme :
=[LaListe].[ItemsSelected].[MonChamp] dans la zone critére pour extraire les
infos liées ?

Ou dans une zone filtre ?
Le but et d'extaire les enregistrements correspondants.

Merci.

10 réponses

1 2
Avatar
Fabien
Bonjour,

N'ayant pas de réponse dans mon post précédent je reformule ma question
autrement.

Dans ma requête (sous formulaire) pour lire les éléments sélectionnés dans
la liste, peut-on écrire quelque chose comme :
=[LaListe].[ItemsSelected].[MonChamp] dans la zone critére pour extraire les
infos liées ?

Ou dans une zone filtre ?
Le but et d'extaire les enregistrements correspondants.

Merci.
Bonjour,

Je ne crois pas que celà soit possible.
Il va falloir passer par du code VB.
Si ta liste s'appel liste0
Private sub Liste0_afterupdate()
Dim StrIn,StrSql as String
Dim I as Integer
For I=0 to Liste0.listcount
If Liste0.selected(I) then
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
End if
Next I
StrSQl = "Select * from [Table] where [MonChamp] in ( "&
Left(StrIn,Len(StrIn)-1)) & ") ;"
CurrentDb.Querydefs("La requete source de ton sous formulaire").sql =
StrSQl
Me.SousFormulaire.Requery
End sub
Voilà

Avatar
Philippe
Merci Fabien, je vais faire des tests et je te tiens au courant, sûrement ce
soir ou demain.

@+
Philippe


Bonjour,

N'ayant pas de réponse dans mon post précédent je reformule ma question
autrement.

Dans ma requête (sous formulaire) pour lire les éléments sélectionnés dans
la liste, peut-on écrire quelque chose comme :
=[LaListe].[ItemsSelected].[MonChamp] dans la zone critére pour extraire les
infos liées ?

Ou dans une zone filtre ?
Le but et d'extaire les enregistrements correspondants.

Merci.
Bonjour,

Je ne crois pas que celà soit possible.
Il va falloir passer par du code VB.
Si ta liste s'appel liste0
Private sub Liste0_afterupdate()
Dim StrIn,StrSql as String
Dim I as Integer
For I=0 to Liste0.listcount
If Liste0.selected(I) then
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
End if
Next I
StrSQl = "Select * from [Table] where [MonChamp] in ( "&
Left(StrIn,Len(StrIn)-1)) & ") ;"
CurrentDb.Querydefs("La requete source de ton sous formulaire").sql =
StrSQl
Me.SousFormulaire.Requery
End sub
Voilà




Avatar
Philippe
Cette ligne se met en rouge et j'ai une boîte qui me dit "attendu fin
instruction"

aprés Next I
StrSQl = "Select * from [Table] where [mon code] in (
"&Left(StrIn,Len(StrIn)-1)) & ") ;" CurrentDb.Querydefs("memoire").sql
=StrSql

Merci de ton aide trés précieuse.


Bonjour,

N'ayant pas de réponse dans mon post précédent je reformule ma question
autrement.

Dans ma requête (sous formulaire) pour lire les éléments sélectionnés dans
la liste, peut-on écrire quelque chose comme :
=[LaListe].[ItemsSelected].[MonChamp] dans la zone critére pour extraire les
infos liées ?

Ou dans une zone filtre ?
Le but et d'extaire les enregistrements correspondants.

Merci.
Bonjour,

Je ne crois pas que celà soit possible.
Il va falloir passer par du code VB.
Si ta liste s'appel liste0
Private sub Liste0_afterupdate()
Dim StrIn,StrSql as String
Dim I as Integer
For I=0 to Liste0.listcount
If Liste0.selected(I) then
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
End if
Next I
StrSQl = "Select * from [Table] where [MonChamp] in ( "&
Left(StrIn,Len(StrIn)-1)) & ") ;"
CurrentDb.Querydefs("La requete source de ton sous formulaire").sql =
StrSQl
Me.SousFormulaire.Requery
End sub
Voilà




Avatar
Fabien
Cette ligne se met en rouge et j'ai une boîte qui me dit "attendu fin
instruction"

aprés Next I
StrSQl = "Select * from [Table] where [mon code] in (
" & Left(StrIn,Len(StrIn)-1)) & ") ;"
^ ^les blancs avant et aprés les & sont obligatoires

CurrentDb.Querydefs("memoire").sql = StrSql

Merci de ton aide trés précieuse.


Bonjour,

N'ayant pas de réponse dans mon post précédent je reformule ma question
autrement.

Dans ma requête (sous formulaire) pour lire les éléments sélectionnés dans
la liste, peut-on écrire quelque chose comme :
=[LaListe].[ItemsSelected].[MonChamp] dans la zone critére pour extraire les
infos liées ?

Ou dans une zone filtre ?
Le but et d'extaire les enregistrements correspondants.

Merci.
Bonjour,

Je ne crois pas que celà soit possible.
Il va falloir passer par du code VB.
Si ta liste s'appel liste0
Private sub Liste0_afterupdate()
Dim StrIn,StrSql as String
Dim I as Integer
For I=0 to Liste0.listcount
If Liste0.selected(I) then
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
End if
Next I
StrSQl = "Select * from [Table] where [MonChamp] in ( "&
Left(StrIn,Len(StrIn)-1)) & ") ;"
CurrentDb.Querydefs("La requete source de ton sous formulaire").sql =
StrSQl
Me.SousFormulaire.Requery
End sub
Voilà






Avatar
Philippe
Les blancs sont des espaces ?

J'en ai mis, la ligne reste rouge
Que ce passe t'il ?


Cette ligne se met en rouge et j'ai une boîte qui me dit "attendu fin
instruction"

aprés Next I
StrSQl = "Select * from [Table] where [mon code] in (
" & Left(StrIn,Len(StrIn)-1)) & ") ;"
^ ^les blancs avant et aprés les & sont obligatoires

CurrentDb.Querydefs("memoire").sql = StrSql

Merci de ton aide trés précieuse.


Bonjour,

N'ayant pas de réponse dans mon post précédent je reformule ma question
autrement.

Dans ma requête (sous formulaire) pour lire les éléments sélectionnés dans
la liste, peut-on écrire quelque chose comme :
=[LaListe].[ItemsSelected].[MonChamp] dans la zone critére pour extraire les
infos liées ?

Ou dans une zone filtre ?
Le but et d'extaire les enregistrements correspondants.

Merci.
Bonjour,

Je ne crois pas que celà soit possible.
Il va falloir passer par du code VB.
Si ta liste s'appel liste0
Private sub Liste0_afterupdate()
Dim StrIn,StrSql as String
Dim I as Integer
For I=0 to Liste0.listcount
If Liste0.selected(I) then
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
End if
Next I
StrSQl = "Select * from [Table] where [MonChamp] in ( "&
Left(StrIn,Len(StrIn)-1)) & ") ;"
CurrentDb.Querydefs("La requete source de ton sous formulaire").sql =
StrSQl
Me.SousFormulaire.Requery
End sub
Voilà









Avatar
Philippe
Fabien,

Voici une image aprés le clique dans la liste :
http://www.cijoint.fr/cij114676606159.bmp

Tu verra mieux ce qui se passe.
@+


Cette ligne se met en rouge et j'ai une boîte qui me dit "attendu fin
instruction"

aprés Next I
StrSQl = "Select * from [Table] where [mon code] in (
" & Left(StrIn,Len(StrIn)-1)) & ") ;"
^ ^les blancs avant et aprés les & sont obligatoires

CurrentDb.Querydefs("memoire").sql = StrSql

Merci de ton aide trés précieuse.


Bonjour,

N'ayant pas de réponse dans mon post précédent je reformule ma question
autrement.

Dans ma requête (sous formulaire) pour lire les éléments sélectionnés dans
la liste, peut-on écrire quelque chose comme :
=[LaListe].[ItemsSelected].[MonChamp] dans la zone critére pour extraire les
infos liées ?

Ou dans une zone filtre ?
Le but et d'extaire les enregistrements correspondants.

Merci.
Bonjour,

Je ne crois pas que celà soit possible.
Il va falloir passer par du code VB.
Si ta liste s'appel liste0
Private sub Liste0_afterupdate()
Dim StrIn,StrSql as String
Dim I as Integer
For I=0 to Liste0.listcount
If Liste0.selected(I) then
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
End if
Next I
StrSQl = "Select * from [Table] where [MonChamp] in ( "&
Left(StrIn,Len(StrIn)-1)) & ") ;"
CurrentDb.Querydefs("La requete source de ton sous formulaire").sql =
StrSQl
Me.SousFormulaire.Requery
End sub
Voilà









Avatar
Fabien
Le champ code est de l'alpha ou du numérique ?
Si c'est de l'apha y a t il des ' ou des " dans le champ code ?
Si c'est du Numérique alors remplace
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
par
StrIn = StrIn & Liste0.Column(0,I) & ","

Pour controle lors du plantage, dans la fenetre d'execution peu tu
demander un debug.print StrSql et me donner le contenu du strsql ?

Fabien,

Voici une image aprés le clique dans la liste :
http://www.cijoint.fr/cij114676606159.bmp

Tu verra mieux ce qui se passe.
@+


Cette ligne se met en rouge et j'ai une boîte qui me dit "attendu fin
instruction"

aprés Next I
StrSQl = "Select * from [Table] where [mon code] in (
" & Left(StrIn,Len(StrIn)-1)) & ") ;"
^ ^les blancs avant et aprés les & sont obligatoires

CurrentDb.Querydefs("memoire").sql = StrSql
Merci de ton aide trés précieuse.


Bonjour,

N'ayant pas de réponse dans mon post précédent je reformule ma question
autrement.

Dans ma requête (sous formulaire) pour lire les éléments sélectionnés dans
la liste, peut-on écrire quelque chose comme :
=[LaListe].[ItemsSelected].[MonChamp] dans la zone critére pour extraire les
infos liées ?

Ou dans une zone filtre ?
Le but et d'extaire les enregistrements correspondants.

Merci.
Bonjour,

Je ne crois pas que celà soit possible.
Il va falloir passer par du code VB.
Si ta liste s'appel liste0
Private sub Liste0_afterupdate()
Dim StrIn,StrSql as String
Dim I as Integer
For I=0 to Liste0.listcount
If Liste0.selected(I) then
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
End if
Next I
StrSQl = "Select * from [Table] where [MonChamp] in ( "&
Left(StrIn,Len(StrIn)-1)) & ") ;"
CurrentDb.Querydefs("La requete source de ton sous formulaire").sql =
StrSQl
Me.SousFormulaire.Requery
End sub
Voilà










Avatar
Philippe
Fabien,
Le champ code est de l'alpha par exemple "A" "B" etc....
je regarde pour la suite

Pour StrSQl = "Select * from [Table] where [MonChamp]
[table] est la table de la liste ou du sous formulaire ?
[Monchamp] c'est bien celui du sous formulaire ?

encore merci

Le champ code est de l'alpha ou du numérique ?
Si c'est de l'apha y a t il des ' ou des " dans le champ code ?
Si c'est du Numérique alors remplace
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
par
StrIn = StrIn & Liste0.Column(0,I) & ","

Pour controle lors du plantage, dans la fenetre d'execution peu tu
demander un debug.print StrSql et me donner le contenu du strsql ?

Fabien,

Voici une image aprés le clique dans la liste :
http://www.cijoint.fr/cij114676606159.bmp

Tu verra mieux ce qui se passe.
@+


Cette ligne se met en rouge et j'ai une boîte qui me dit "attendu fin
instruction"

aprés Next I
StrSQl = "Select * from [Table] where [mon code] in (
" & Left(StrIn,Len(StrIn)-1)) & ") ;"
^ ^les blancs avant et aprés les & sont obligatoires

CurrentDb.Querydefs("memoire").sql = StrSql
Merci de ton aide trés précieuse.


Bonjour,

N'ayant pas de réponse dans mon post précédent je reformule ma question
autrement.

Dans ma requête (sous formulaire) pour lire les éléments sélectionnés dans
la liste, peut-on écrire quelque chose comme :
=[LaListe].[ItemsSelected].[MonChamp] dans la zone critére pour extraire les
infos liées ?

Ou dans une zone filtre ?
Le but et d'extaire les enregistrements correspondants.

Merci.
Bonjour,

Je ne crois pas que celà soit possible.
Il va falloir passer par du code VB.
Si ta liste s'appel liste0
Private sub Liste0_afterupdate()
Dim StrIn,StrSql as String
Dim I as Integer
For I=0 to Liste0.listcount
If Liste0.selected(I) then
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
End if
Next I
StrSQl = "Select * from [Table] where [MonChamp] in ( "&
Left(StrIn,Len(StrIn)-1)) & ") ;"
CurrentDb.Querydefs("La requete source de ton sous formulaire").sql =
StrSQl
Me.SousFormulaire.Requery
End sub
Voilà













Avatar
Philippe
Fabien,

Serait'il possible de m'envoyer sur cijoint un fichier simple en exemple ?
Un formulaire avec une liste et le sous formulaire à côté dans un formulaire
principal.
Si tu as un exemple sous la main seulement.
Merci.


Le champ code est de l'alpha ou du numérique ?
Si c'est de l'apha y a t il des ' ou des " dans le champ code ?
Si c'est du Numérique alors remplace
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
par
StrIn = StrIn & Liste0.Column(0,I) & ","

Pour controle lors du plantage, dans la fenetre d'execution peu tu
demander un debug.print StrSql et me donner le contenu du strsql ?

Fabien,

Voici une image aprés le clique dans la liste :
http://www.cijoint.fr/cij114676606159.bmp

Tu verra mieux ce qui se passe.
@+


Cette ligne se met en rouge et j'ai une boîte qui me dit "attendu fin
instruction"

aprés Next I
StrSQl = "Select * from [Table] where [mon code] in (
" & Left(StrIn,Len(StrIn)-1)) & ") ;"
^ ^les blancs avant et aprés les & sont obligatoires

CurrentDb.Querydefs("memoire").sql = StrSql
Merci de ton aide trés précieuse.


Bonjour,

N'ayant pas de réponse dans mon post précédent je reformule ma question
autrement.

Dans ma requête (sous formulaire) pour lire les éléments sélectionnés dans
la liste, peut-on écrire quelque chose comme :
=[LaListe].[ItemsSelected].[MonChamp] dans la zone critére pour extraire les
infos liées ?

Ou dans une zone filtre ?
Le but et d'extaire les enregistrements correspondants.

Merci.
Bonjour,

Je ne crois pas que celà soit possible.
Il va falloir passer par du code VB.
Si ta liste s'appel liste0
Private sub Liste0_afterupdate()
Dim StrIn,StrSql as String
Dim I as Integer
For I=0 to Liste0.listcount
If Liste0.selected(I) then
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
End if
Next I
StrSQl = "Select * from [Table] where [MonChamp] in ( "&
Left(StrIn,Len(StrIn)-1)) & ") ;"
CurrentDb.Querydefs("La requete source de ton sous formulaire").sql =
StrSQl
Me.SousFormulaire.Requery
End sub
Voilà













Avatar
Fabien
J'ai pas d'exemple sous la main. Mais toi ne peux tu me passer un
extrait de ta base avec le formulaire ?
Fabien,

Serait'il possible de m'envoyer sur cijoint un fichier simple en exemple ?
Un formulaire avec une liste et le sous formulaire à côté dans un formulaire
principal.
Si tu as un exemple sous la main seulement.
Merci.


Le champ code est de l'alpha ou du numérique ?
Si c'est de l'apha y a t il des ' ou des " dans le champ code ?
Si c'est du Numérique alors remplace
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
par
StrIn = StrIn & Liste0.Column(0,I) & ","

Pour controle lors du plantage, dans la fenetre d'execution peu tu
demander un debug.print StrSql et me donner le contenu du strsql ?

Fabien,

Voici une image aprés le clique dans la liste :
http://www.cijoint.fr/cij114676606159.bmp

Tu verra mieux ce qui se passe.
@+


Cette ligne se met en rouge et j'ai une boîte qui me dit "attendu fin
instruction"

aprés Next I
StrSQl = "Select * from [Table] where [mon code] in (
" & Left(StrIn,Len(StrIn)-1)) & ") ;"
^ ^les blancs avant et aprés les & sont obligatoires

CurrentDb.Querydefs("memoire").sql = StrSql
Merci de ton aide trés précieuse.


Bonjour,

N'ayant pas de réponse dans mon post précédent je reformule ma question
autrement.

Dans ma requête (sous formulaire) pour lire les éléments sélectionnés dans
la liste, peut-on écrire quelque chose comme :
=[LaListe].[ItemsSelected].[MonChamp] dans la zone critére pour extraire les
infos liées ?

Ou dans une zone filtre ?
Le but et d'extaire les enregistrements correspondants.

Merci.
Bonjour,

Je ne crois pas que celà soit possible.
Il va falloir passer par du code VB.
Si ta liste s'appel liste0
Private sub Liste0_afterupdate()
Dim StrIn,StrSql as String
Dim I as Integer
For I=0 to Liste0.listcount
If Liste0.selected(I) then
StrIn = StrIn & "'" & Liste0.Column(0,I) & "',"
End if
Next I
StrSQl = "Select * from [Table] where [MonChamp] in ( "&
Left(StrIn,Len(StrIn)-1)) & ") ;"
CurrentDb.Querydefs("La requete source de ton sous formulaire").sql =
StrSQl
Me.SousFormulaire.Requery
End sub
Voilà














1 2