OVH Cloud OVH Cloud

Un problème sur requête

4 réponses
Avatar
MichelB
Bonsoir à tous

Je me lance sans une BdD qui devrait être simple, mais où je bloque malgré
tout !
Je suis chargé de la distribution des jouets dans un CE.
Sous WinXP SP2 et Office 2003, j'ai construit 2 tables :

TblEmployés

Compt Clé primaire
Service
NomEmployé
PrénomEmployé
Résidence
Adresse
CodePostal
Imatriculation

TblEnfants

Cle Clé primaire
Num Entier long
NomEnfant
PrénomEnfant
Sexe
naissance
N°jouet

Les relations ont été acceptées par Access entre Compt et Num avec intégrité
référentielle.
Il est évident que, dans la table TblEnfants, il y a des enfants qui ont
dépassé la date pour avoir un jouet. Je suis obligé de les garder au frais
pour d'autres activités et bien sur, dans la table TblEmployés des employés
qui n'ont pas a paraitre dans le formulaire (ceux dont les enfants n'ont de
jouet).
J'ai créé un formulaire avec une requète (basée sur TblEmployés) et un
sous-formulaire avec une requète (basée sur TblEnfants) triant sur date
>=1/1/1994.

Mon problème principal est que mon formulaire me donne autant de fois
l'employé qu'il a d'enfants.
Comment je peux trier les employés qui ont des enfants ayant un jouet (et
seulement ceux-là) et dans mon sous-formulaire qu'il n'y ait que les enfants
de l'employé présent dans le formulaire principal ?
J'avoue que je suis un peu perdu !
Merci de bien vouloir éclairer ma lanterne.

--
Salut ;o)
Michel

4 réponses

Avatar
Pierre CFI [mvp]
bonjour
ayant réalisé il y a qq années un programme identique pour un trés gros CE (labo pharmaceutique), je te conseille vivement de bien
étudier ton MCD avant car entre autres piéges
divorce des parents qui sont dans la méme sociéte
re mariage avec qq un de la méme société
cas sociaux, enfants qui, à 1 jour prés, non droit à rien, alors que leur mére éléve seule ses enfants et à pas de sous
etc etc

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

"MichelB" a écrit dans le message de news:
Bonsoir à tous

Je me lance sans une BdD qui devrait être simple, mais où je bloque malgré tout !
Je suis chargé de la distribution des jouets dans un CE.
Sous WinXP SP2 et Office 2003, j'ai construit 2 tables :

TblEmployés

Compt Clé primaire
Service
NomEmployé
PrénomEmployé
Résidence
Adresse
CodePostal
Imatriculation

TblEnfants

Cle Clé primaire
Num Entier long
NomEnfant
PrénomEnfant
Sexe
naissance
N°jouet

Les relations ont été acceptées par Access entre Compt et Num avec intégrité référentielle.
Il est évident que, dans la table TblEnfants, il y a des enfants qui ont dépassé la date pour avoir un jouet. Je suis obligé de
les garder au frais pour d'autres activités et bien sur, dans la table TblEmployés des employés qui n'ont pas a paraitre dans le
formulaire (ceux dont les enfants n'ont de jouet).
J'ai créé un formulaire avec une requète (basée sur TblEmployés) et un sous-formulaire avec une requète (basée sur TblEnfants)
triant sur date
=1/1/1994.


Mon problème principal est que mon formulaire me donne autant de fois l'employé qu'il a d'enfants.
Comment je peux trier les employés qui ont des enfants ayant un jouet (et seulement ceux-là) et dans mon sous-formulaire qu'il n'y
ait que les enfants de l'employé présent dans le formulaire principal ?
J'avoue que je suis un peu perdu !
Merci de bien vouloir éclairer ma lanterne.

--
Salut ;o)
Michel





Avatar
MichelB
Bonjour Pierre

Merci de ta réponse.
Je gère cette distribution de jouets depuis des années (je crois me rappeler
que c'était avec Access 1.1 !!) et tout se passait bien. (Avec 2 tables et
une requête bateau). J'arrivais à trier les enfants par âge et a sortir mes
étiquettes sans problème.
Ou ça se complique, c'est que j'ai voulu améliorer ce fonctionnement avec un
formulaire et sous-formulaire de saisie et modifications, de façon que mon
successeur puisse prendre la relève sans accroc.
D'où ma question de savoir comment, dans ce formulaire principal n'avoir
qu'une fois un parent (juste ceux qui ont des enfants répondant à une
tranche d'âge), même s'il a plusieurs enfants, et dans le sous-formulaire
les enfants dudit parent.

Merci de bien vouloir m'aider !

--
Salut ;o)
Michel


"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
ayant réalisé il y a qq années un programme identique pour un trés gros CE
(labo pharmaceutique), je te conseille vivement de bien étudier ton MCD
avant car entre autres piéges
divorce des parents qui sont dans la méme sociéte
re mariage avec qq un de la méme société
cas sociaux, enfants qui, à 1 jour prés, non droit à rien, alors que leur
mére éléve seule ses enfants et à pas de sous
etc etc


Avatar
Angelote
Bonjour,

Vous avez certainement fait votre sous-formulaire sur la base d'une requête ?
Si c'est le cas, faites-vous le tri dans cette requête ?
J'ai fait différents formulaires et ça marche. Comprends pas où est le bug.



Bonsoir à tous

Je me lance sans une BdD qui devrait être simple, mais où je bloque malgré
tout !
Je suis chargé de la distribution des jouets dans un CE.
Sous WinXP SP2 et Office 2003, j'ai construit 2 tables :

TblEmployés

Compt Clé primaire
Service
NomEmployé
PrénomEmployé
Résidence
Adresse
CodePostal
Imatriculation

TblEnfants

Cle Clé primaire
Num Entier long
NomEnfant
PrénomEnfant
Sexe
naissance
N°jouet

Les relations ont été acceptées par Access entre Compt et Num avec intégrité
référentielle.
Il est évident que, dans la table TblEnfants, il y a des enfants qui ont
dépassé la date pour avoir un jouet. Je suis obligé de les garder au frais
pour d'autres activités et bien sur, dans la table TblEmployés des employés
qui n'ont pas a paraitre dans le formulaire (ceux dont les enfants n'ont de
jouet).
J'ai créé un formulaire avec une requète (basée sur TblEmployés) et un
sous-formulaire avec une requète (basée sur TblEnfants) triant sur date
=1/1/1994.


Mon problème principal est que mon formulaire me donne autant de fois
l'employé qu'il a d'enfants.
Comment je peux trier les employés qui ont des enfants ayant un jouet (et
seulement ceux-là) et dans mon sous-formulaire qu'il n'y ait que les enfants
de l'employé présent dans le formulaire principal ?
J'avoue que je suis un peu perdu !
Merci de bien vouloir éclairer ma lanterne.

--
Salut ;o)
Michel






Avatar
MichelB
Bonjour Angelote

Il n'y a pas de bug, c'est moi qui ai des difficultés à faire ce que je
voudrais ;o)
Je passe bien par une requête pour mon sous-formulaire Enfants filtrée sur
la date de naissance, en l'occurence 1/1/1994.
J'ai bien mes 142 enregistrements qui sortent, quand je la vérifie toute
seule.

Le problème, s'il y en un, c'est que la table Parents contient des parents
dont les enfants ont dépassé l'âge de distribution de jouets, donc que je ne
veux pas voir affichés dans mon formulaire principal. Je base celui-ci sur
une requête de la table Parents filtrée sur la date de naissance enfant. (Je
ne vois pas comment faire autrement !)
Dans ce cas, j'ai dans mon formulaire principal 142 enregistrements
également et quand je fais suivant, il passe le même parent autant de fois
qu'il y a d'enfants. (Il ne devrait il y en avoir qu'une soixantaine)

Si je ne filtre pas, j'ai tous mes enregistrements Parents (280 environ) qui
défilent dans le formulaire et le sous-formulaire qui affiche les enfants
quand il y en a !

Je me noie certainement dans un verre d'eau, mais si pouviez me donner un
coup de main, ça serait sympa !


--
Salut ;o)
Michel




"Angelote" a écrit dans le message de
news:
Bonjour,

Vous avez certainement fait votre sous-formulaire sur la base d'une
requête ?
Si c'est le cas, faites-vous le tri dans cette requête ?
J'ai fait différents formulaires et ça marche. Comprends pas où est le
bug.



Bonsoir à tous

Je me lance sans une BdD qui devrait être simple, mais où je bloque
malgré
tout !
Je suis chargé de la distribution des jouets dans un CE.
Sous WinXP SP2 et Office 2003, j'ai construit 2 tables :

TblEmployés

Compt Clé primaire
Service
NomEmployé
PrénomEmployé
Résidence
Adresse
CodePostal
Imatriculation

TblEnfants

Cle Clé primaire
Num Entier long
NomEnfant
PrénomEnfant
Sexe
naissance
N°jouet

Les relations ont été acceptées par Access entre Compt et Num avec
intégrité
référentielle.
Il est évident que, dans la table TblEnfants, il y a des enfants qui ont
dépassé la date pour avoir un jouet. Je suis obligé de les garder au
frais
pour d'autres activités et bien sur, dans la table TblEmployés des
employés
qui n'ont pas a paraitre dans le formulaire (ceux dont les enfants n'ont
de
jouet).
J'ai créé un formulaire avec une requète (basée sur TblEmployés) et un
sous-formulaire avec une requète (basée sur TblEnfants) triant sur date
=1/1/1994.


Mon problème principal est que mon formulaire me donne autant de fois
l'employé qu'il a d'enfants.
Comment je peux trier les employés qui ont des enfants ayant un jouet (et
seulement ceux-là) et dans mon sous-formulaire qu'il n'y ait que les
enfants
de l'employé présent dans le formulaire principal ?
J'avoue que je suis un peu perdu !
Merci de bien vouloir éclairer ma lanterne.

--
Salut ;o)
Michel