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

Assistance pour requête svp

10 réponses
Avatar
EnPanne
Bonjour,
Je n'utilise généralement Access que comme "client", mais j'ai maintenant un
besoin en "création".
Et je coince sur une requête.
J'ai déjà posé une question de ce type il y a quelques semaines, mais
certainement pas aussi détaillée, et les réponses reçus ne m'ont pas permis
de résoudre mon problème.
Aussi, considérant que je suis seul responsable du fait de n'avoir pas été
compris, je recommence.

Soit une table "Compétitions" comprenant (entre autres) un champ clé
Compétition
Soit une table "Rondes" comprenant un champ clé de type NumAuto, un champ
NuméroRonde et un champ Compétition pointant sur Compétitions.Compétition.
Soit un formulaire Match comprenant une première liste déroulante
Compétition pointant sur Compétitions.Compétition et une seconde liste Ronde
pointant sur Rondes.Ronde
J'aimerai, dans ce formulaire, que la liste déroulante Ronde ne m'affiche
que celles correspondant à la compétition choisie dans la première liste
déroulante.

J'ai tenté diverses rédactions de requête en faisant bien entendu pointer ma
liste déroulante Ronde sur la requête au lieu de la table Rondes.

Mais quoique je fasse, j'ai toujours l'ensemble de la table Rondes affichée
dans ma liste Ronde.

Quelqu'un peut m'aider en me pilotant pour cette requête svp ?

Merci d'avance.

10 réponses

Avatar
Raymond [mvp]
Bonjour.

tu trouveras un exemple en téléchargement sur :
http://officesystem.access.free.fr/telecharger/comboshierarchiques.zip
Permet de sélectionner une valeur dans une zone de liste, filtrée par 4
listes modifiables hiérarchisées. Chaque liste modifiable est elle-même
filtrée par la liste modifiable précédente. Le modèle est basé sur une liste
de véhicules automobiles avec sélection du constructeur, du type de
véhicule, de la carrosserie et du carburant.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"EnPanne" a écrit dans le message de news:
%
Bonjour,
Je n'utilise généralement Access que comme "client", mais j'ai maintenant
un besoin en "création".
Et je coince sur une requête.
J'ai déjà posé une question de ce type il y a quelques semaines, mais
certainement pas aussi détaillée, et les réponses reçus ne m'ont pas
permis de résoudre mon problème.
Aussi, considérant que je suis seul responsable du fait de n'avoir pas été
compris, je recommence.

Soit une table "Compétitions" comprenant (entre autres) un champ clé
Compétition
Soit une table "Rondes" comprenant un champ clé de type NumAuto, un champ
NuméroRonde et un champ Compétition pointant sur Compétitions.Compétition.
Soit un formulaire Match comprenant une première liste déroulante
Compétition pointant sur Compétitions.Compétition et une seconde liste
Ronde pointant sur Rondes.Ronde
J'aimerai, dans ce formulaire, que la liste déroulante Ronde ne m'affiche
que celles correspondant à la compétition choisie dans la première liste
déroulante.

J'ai tenté diverses rédactions de requête en faisant bien entendu pointer
ma liste déroulante Ronde sur la requête au lieu de la table Rondes.

Mais quoique je fasse, j'ai toujours l'ensemble de la table Rondes
affichée dans ma liste Ronde.

Quelqu'un peut m'aider en me pilotant pour cette requête svp ?

Merci d'avance.



Avatar
Antoine Labusquière
Mettre ce code (en l'adaptant bien sûr) dans l'évènement
Après MAJ de ta liste Compétitions

Private Sub l_competitions_AfterUpdate()

l_rondes = Null
l_rondes.RowSource = "SELECT * FROM RONDES
WHERE rondes!compet= '" & l_competitions & "'"

End Sub

NB: si le champ qui sert de critere (rondes!compet) est numérique, alors
remplacer
'" & l_competitions & "'"
par "
& l_competitions


"EnPanne" a écrit dans le message de
news:%
Bonjour,
Je n'utilise généralement Access que comme "client", mais j'ai maintenant
un

besoin en "création".
Et je coince sur une requête.
J'ai déjà posé une question de ce type il y a quelques semaines, mais
certainement pas aussi détaillée, et les réponses reçus ne m'ont pas
permis

de résoudre mon problème.
Aussi, considérant que je suis seul responsable du fait de n'avoir pas été
compris, je recommence.

Soit une table "Compétitions" comprenant (entre autres) un champ clé
Compétition
Soit une table "Rondes" comprenant un champ clé de type NumAuto, un champ
NuméroRonde et un champ Compétition pointant sur Compétitions.Compétition.
Soit un formulaire Match comprenant une première liste déroulante
Compétition pointant sur Compétitions.Compétition et une seconde liste
Ronde

pointant sur Rondes.Ronde
J'aimerai, dans ce formulaire, que la liste déroulante Ronde ne m'affiche
que celles correspondant à la compétition choisie dans la première liste
déroulante.

J'ai tenté diverses rédactions de requête en faisant bien entendu pointer
ma

liste déroulante Ronde sur la requête au lieu de la table Rondes.

Mais quoique je fasse, j'ai toujours l'ensemble de la table Rondes
affichée

dans ma liste Ronde.

Quelqu'un peut m'aider en me pilotant pour cette requête svp ?

Merci d'avance.




Avatar
EnPanne
Merci Antoine,

Déjà que j'ai du mal avec les requêtes, alors le VBA....
J'ai tenté le coup pour t'honorer, mais je pense rester sur la proposition
de Raymond qui est plus dans mes cordes :)

Bonne continuation

"Antoine Labusquière" a écrit dans
le message de news: cru51v$ghu$
Mettre ce code (en l'adaptant bien sûr) dans l'évènement
Après MAJ de ta liste Compétitions

Private Sub l_competitions_AfterUpdate()

l_rondes = Null
l_rondes.RowSource = "SELECT * FROM RONDES
WHERE rondes!compet= '" & l_competitions & "'"

End Sub

NB: si le champ qui sert de critere (rondes!compet) est numérique, alors
remplacer
'" & l_competitions & "'"
par "
& l_competitions


"EnPanne" a écrit dans le message de
news:%
Bonjour,
Je n'utilise généralement Access que comme "client", mais j'ai maintenant
un

besoin en "création".
Et je coince sur une requête.
J'ai déjà posé une question de ce type il y a quelques semaines, mais
certainement pas aussi détaillée, et les réponses reçus ne m'ont pas
permis

de résoudre mon problème.
Aussi, considérant que je suis seul responsable du fait de n'avoir pas
été
compris, je recommence.

Soit une table "Compétitions" comprenant (entre autres) un champ clé
Compétition
Soit une table "Rondes" comprenant un champ clé de type NumAuto, un champ
NuméroRonde et un champ Compétition pointant sur
Compétitions.Compétition.
Soit un formulaire Match comprenant une première liste déroulante
Compétition pointant sur Compétitions.Compétition et une seconde liste
Ronde

pointant sur Rondes.Ronde
J'aimerai, dans ce formulaire, que la liste déroulante Ronde ne m'affiche
que celles correspondant à la compétition choisie dans la première liste
déroulante.

J'ai tenté diverses rédactions de requête en faisant bien entendu pointer
ma

liste déroulante Ronde sur la requête au lieu de la table Rondes.

Mais quoique je fasse, j'ai toujours l'ensemble de la table Rondes
affichée

dans ma liste Ronde.

Quelqu'un peut m'aider en me pilotant pour cette requête svp ?

Merci d'avance.








Avatar
EnPanne
Merci Raymond

J'ai rapidement testé ce module qui me convient.
Avec toutefois un bémol : la 2ème liste n'est correctement proposée qu'au
premier passage.
Si je corrige une erreur dans ma première liste, la seconde n'est pas
rafraîchie.
Mais c'est "moins pire" que ce que j'avais avant.
Je prends.

Merci encore et bonne continuation

"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

tu trouveras un exemple en téléchargement sur :
http://officesystem.access.free.fr/telecharger/comboshierarchiques.zip
Permet de sélectionner une valeur dans une zone de liste, filtrée par 4
listes modifiables hiérarchisées. Chaque liste modifiable est elle-même
filtrée par la liste modifiable précédente. Le modèle est basé sur une
liste de véhicules automobiles avec sélection du constructeur, du type de
véhicule, de la carrosserie et du carburant.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"EnPanne" a écrit dans le message de news:
%
Bonjour,
Je n'utilise généralement Access que comme "client", mais j'ai maintenant
un besoin en "création".
Et je coince sur une requête.
J'ai déjà posé une question de ce type il y a quelques semaines, mais
certainement pas aussi détaillée, et les réponses reçus ne m'ont pas
permis de résoudre mon problème.
Aussi, considérant que je suis seul responsable du fait de n'avoir pas
été compris, je recommence.

Soit une table "Compétitions" comprenant (entre autres) un champ clé
Compétition
Soit une table "Rondes" comprenant un champ clé de type NumAuto, un champ
NuméroRonde et un champ Compétition pointant sur
Compétitions.Compétition.
Soit un formulaire Match comprenant une première liste déroulante
Compétition pointant sur Compétitions.Compétition et une seconde liste
Ronde pointant sur Rondes.Ronde
J'aimerai, dans ce formulaire, que la liste déroulante Ronde ne m'affiche
que celles correspondant à la compétition choisie dans la première liste
déroulante.

J'ai tenté diverses rédactions de requête en faisant bien entendu pointer
ma liste déroulante Ronde sur la requête au lieu de la table Rondes.

Mais quoique je fasse, j'ai toujours l'ensemble de la table Rondes
affichée dans ma liste Ronde.

Quelqu'un peut m'aider en me pilotant pour cette requête svp ?

Merci d'avance.







Avatar
G Roydor
Bonsoir,
Se priver du code VBA implique l'utilisation d'aCCESS avec ses
prototypes qui , aussi élaborés soient-ils, n'apporteront pas toutes les
solutions aux particularités d'une application, y compris au niveau de
la complexité.
Le code fourni ci-dessous n'est pas si complexe qu'il ne peut sembler à
un néophyte.
Essayez !
GR

EnPanne a écrit:
Merci Antoine,

Déjà que j'ai du mal avec les requêtes, alors le VBA....
J'ai tenté le coup pour t'honorer, mais je pense rester sur la proposition
de Raymond qui est plus dans mes cordes :)

Bonne continuation

"Antoine Labusquière" a écrit dans
le message de news: cru51v$ghu$

Mettre ce code (en l'adaptant bien sûr) dans l'évènement
Après MAJ de ta liste Compétitions

Private Sub l_competitions_AfterUpdate()

l_rondes = Null
l_rondes.RowSource = "SELECT * FROM RONDES
WHERE rondes!compet= '" & l_competitions & "'"

End Sub

NB: si le champ qui sert de critere (rondes!compet) est numérique, alors
remplacer
'" & l_competitions & "'"
par "
& l_competitions


"EnPanne" a écrit dans le message de
news:%

Bonjour,
Je n'utilise généralement Access que comme "client", mais j'ai maintenant


un

besoin en "création".
Et je coince sur une requête.
J'ai déjà posé une question de ce type il y a quelques semaines, mais
certainement pas aussi détaillée, et les réponses reçus ne m'ont pas


permis

de résoudre mon problème.
Aussi, considérant que je suis seul responsable du fait de n'avoir pas
été
compris, je recommence.

Soit une table "Compétitions" comprenant (entre autres) un champ clé
Compétition
Soit une table "Rondes" comprenant un champ clé de type NumAuto, un champ
NuméroRonde et un champ Compétition pointant sur
Compétitions.Compétition.
Soit un formulaire Match comprenant une première liste déroulante
Compétition pointant sur Compétitions.Compétition et une seconde liste


Ronde

pointant sur Rondes.Ronde
J'aimerai, dans ce formulaire, que la liste déroulante Ronde ne m'affiche
que celles correspondant à la compétition choisie dans la première liste
déroulante.

J'ai tenté diverses rédactions de requête en faisant bien entendu pointer


ma

liste déroulante Ronde sur la requête au lieu de la table Rondes.

Mais quoique je fasse, j'ai toujours l'ensemble de la table Rondes


affichée

dans ma liste Ronde.

Quelqu'un peut m'aider en me pilotant pour cette requête svp ?

Merci d'avance.












Avatar
EnPanne
Bonjour,

Je ne peux qu'être d'accord avec ça.
Mais je suis très 'basique' : une chose après l'autre.
Je commence tout juste à apprendre à me servir de cet outil plus
qu'intéressant autrement que comme utilisateur lambda.
Le Vba, on verra après, lorsque j'aurai acquis un minimum sur les
fonctionnalités de base.
Je sens que je vais profiter de ce forum où on est aussi bien acuueilli.

Bonne continuation.

PG

"G Roydor" a écrit dans le message de news:

Bonsoir,
Se priver du code VBA implique l'utilisation d'aCCESS avec ses prototypes
qui , aussi élaborés soient-ils, n'apporteront pas toutes les solutions
aux particularités d'une application, y compris au niveau de la
complexité.
Le code fourni ci-dessous n'est pas si complexe qu'il ne peut sembler à un
néophyte.
Essayez !


Avatar
En panne
Bonjour Raymond,

Je me permets de revenir sur le modèle vers lequel tu m'as dirigié.
Après de multiples tests, je m'aperçois qu'en réalité ce module ne
fonctionne pas, y compris dans la base exemple elle-même.
Ce qui m'intéresse est en fait le second champ du formulaire.
Pour ce qui est de ma demande égoïstement personnelle, le filtre appliqué me
renvoie systématiquement les 7 rondes de la première compétition, quelque
soit la compétition préalablement sélectionnée dans le premier champ.

J'ai le code sql suivant :
SELECT Rondes.Ronde, Rondes.Compétition, Rondes.CléRondes FROM Rondes GROUP
BY Rondes.Ronde, Rondes.Compétition, Rondes.CléRondes HAVING
(((Rondes.Compétition)=Formulaires!Matchs!Compétition)) ORDER BY
Rondes.Ronde, Rondes.Compétition;

J'ai essayé d'intégrer ce code dans une requête et d'utiliser cette requête
dans le champ Ronde de mon formulaire Matchs.
J'ai également essayé de l'intégrer directement dans le champ lui-même comme
dans l'exemple.
J'obtiens toujours le même résultat : seulement les rondes de la première
compétition ! :-(

Je commence à perdre mes cheveux dans l'affaire.
Puis-je avoir _encore_ un coup de main ?

Merci d'avance.

"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

tu trouveras un exemple en téléchargement sur :
http://officesystem.access.free.fr/telecharger/comboshierarchiques.zip
Permet de sélectionner une valeur dans une zone de liste, filtrée par 4
listes modifiables hiérarchisées. Chaque liste modifiable est elle-même
filtrée par la liste modifiable précédente. Le modèle est basé sur une
liste de véhicules automobiles avec sélection du constructeur, du type de
véhicule, de la carrosserie et du carburant.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"EnPanne" a écrit dans le message de news:
%
Bonjour,
Je n'utilise généralement Access que comme "client", mais j'ai maintenant
un besoin en "création".
Et je coince sur une requête.
J'ai déjà posé une question de ce type il y a quelques semaines, mais
certainement pas aussi détaillée, et les réponses reçus ne m'ont pas
permis de résoudre mon problème.
Aussi, considérant que je suis seul responsable du fait de n'avoir pas
été compris, je recommence.

Soit une table "Compétitions" comprenant (entre autres) un champ clé
Compétition
Soit une table "Rondes" comprenant un champ clé de type NumAuto, un champ
NuméroRonde et un champ Compétition pointant sur
Compétitions.Compétition.
Soit un formulaire Match comprenant une première liste déroulante
Compétition pointant sur Compétitions.Compétition et une seconde liste
Ronde pointant sur Rondes.Ronde
J'aimerai, dans ce formulaire, que la liste déroulante Ronde ne m'affiche
que celles correspondant à la compétition choisie dans la première liste
déroulante.

J'ai tenté diverses rédactions de requête en faisant bien entendu pointer
ma liste déroulante Ronde sur la requête au lieu de la table Rondes.

Mais quoique je fasse, j'ai toujours l'ensemble de la table Rondes
affichée dans ma liste Ronde.

Quelqu'un peut m'aider en me pilotant pour cette requête svp ?

Merci d'avance.







Avatar
Raymond [mvp]
fais-tu bien un Requery de ta liste rondes dans l'événement afterupdate de
la 1ere liste ?

si tu n'y arrives pas passe moi ta base par mail en enlevant le XYZ. dans
mon adresse ,et indique bien où ça se passe. j'y mettrai un oeil.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"En panne" a écrit dans le message de news:
O3facPv%
Bonjour Raymond,

Je me permets de revenir sur le modèle vers lequel tu m'as dirigié.
Après de multiples tests, je m'aperçois qu'en réalité ce module ne
fonctionne pas, y compris dans la base exemple elle-même.
Ce qui m'intéresse est en fait le second champ du formulaire.
Pour ce qui est de ma demande égoïstement personnelle, le filtre appliqué
me renvoie systématiquement les 7 rondes de la première compétition,
quelque soit la compétition préalablement sélectionnée dans le premier
champ.

J'ai le code sql suivant :
SELECT Rondes.Ronde, Rondes.Compétition, Rondes.CléRondes FROM Rondes
GROUP BY Rondes.Ronde, Rondes.Compétition, Rondes.CléRondes HAVING
(((Rondes.Compétition)=Formulaires!Matchs!Compétition)) ORDER BY
Rondes.Ronde, Rondes.Compétition;

J'ai essayé d'intégrer ce code dans une requête et d'utiliser cette
requête dans le champ Ronde de mon formulaire Matchs.
J'ai également essayé de l'intégrer directement dans le champ lui-même
comme dans l'exemple.
J'obtiens toujours le même résultat : seulement les rondes de la première
compétition ! :-(

Je commence à perdre mes cheveux dans l'affaire.
Puis-je avoir _encore_ un coup de main ?

Merci d'avance.



Avatar
Raymond [mvp]
Message envoyé par mail :

C'est exactement ce que je te disais de faire dans mon dernier message. Il
faut faire un requery de ta 2e liste après modif de la 1ere.

Entre ce code dans ton formulaire matchs:

Private Sub Compétition_AfterUpdate()

Me.Ronde.Requery

End Sub


--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Raymond [mvp]" a écrit dans le message de
news: %236iTxVv%
fais-tu bien un Requery de ta liste rondes dans l'événement afterupdate de
la 1ere liste ?

si tu n'y arrives pas passe moi ta base par mail en enlevant le XYZ. dans
mon adresse ,et indique bien où ça se passe. j'y mettrai un oeil.



Avatar
En panne
Merci à Raymond (réponse en privé)

A noter : j'ai également intégré ce code à Form_Current() car l'affichage
restait aléatoire lors du défilement de fiches.

Je n'ai plus qu'à continuer :)

A bientôt.
Bon week-end

"Raymond [mvp]" a écrit dans le message de
news: %23ZcL1fw%
Message envoyé par mail :

C'est exactement ce que je te disais de faire dans mon dernier message. Il
faut faire un requery de ta 2e liste après modif de la 1ere.

Entre ce code dans ton formulaire matchs:

Private Sub Compétition_AfterUpdate()

Me.Ronde.Requery

End Sub