aide sur des requêtes ACCESS

bithia5

New Member
Bonjour !

Voilà je me décide pour demander de l'aide car je peine avec un exo access. :cry:

On me demande d'effectuer en 2eme partie de mon exercice des requêtes pour trouver les filles et garçons qui vont recevoir un cadeau à l'arbre de noel de l'entreprise. Les enfants doivent être agés de 1 an à 10 ans révolus au 31 décembre 2003.
La date du jour est le 3 avril 2003, je ne sais pas si c'est important. Enfin bref...
Sachant qu'il y a des parents qui ont 2 enfants.

Je ne sais pas s'il faut faire 2 tableaux, si mes champs sont exacts, mes clés primaires à la bonne place... bref, si tout est bon pour commencer mes relations et requetes...(et si vous comprenez ce que je demande, LOL)

http://cjoint.com/?lloIjE8XSO

Je dois réaliser toujours en 2eme partie une note pour informer les parents de la date de l'arbre de noel, de la distribution des cadeaux, je dois leur demander si le nom, prenom, sexe et age de leurs enfants sont exacts. En 1ere partie, je devais faire une mise à jour du fichier employés (les parents des enfants), je ne sais pas s'il faut le mettre en relation avec la 2eme partie, c'est à dire les requêtes... ou ce sont 2 parties complètement indépendantes. :blush:

Merci de votre aide ! :wub
 

patrice084

Best Member
bithia5 link=topic=6924.msg62249#msg62249 date=1131716812 a dit:
Voilà je me décide pour demander de l'aide car je peine avec un exo access. :cry:

On me demande d'effectuer en 2eme partie de mon exercice des requêtes pour trouver les filles et garçons qui vont recevoir un cadeau à l'arbre de noel de l'entreprise. Les enfants doivent être agés de 1 an à 10 ans révolus au 31 décembre 2003.
La date du jour est le 3 avril 2003, je ne sais pas si c'est important. Enfin bref...
Sachant qu'il y a des parents qui ont 2 enfants.

Je ne sais pas s'il faut faire 2 tableaux, si mes champs sont exacts, mes clés primaires à la bonne place... bref, si tout est bon pour commencer mes relations et requetes...(et si vous comprenez ce que je demande, LOL)

Il y a déjà un problème sur la table parent puisque l'on retrouve deux champs n°. Il y en a un de trop. Pour plus de clarté, modifier les noms de vos champs:
Table parents : #No_parent, et les autres champs
Table enfants : #No_enfant ; No_parent ; et les autres champs.

La relation doit être établie sur les champs No_parent des deux tables.

Autre problème, votre champ age doit être un champ numérique afin de pouvoir y faire des sélections. De plus, il faudrait créer une requête mise à jour pour calculer automatiquement les âges des enfants. Sinon, cela veut dire que chaque année, il faut venir modifier chaque enregistrement.
 

bithia5

New Member
patrice084 link=topic=6924.msg62251#msg62251 date=1131717147 a dit:
Il y a déjà un problème sur la table parent puisque l'on retrouve deux champs n°. Il y en a un de trop. Pour plus de clarté, modifier les noms de vos champs:
Table parents : #No_parent, et les autres champs
Table enfants : #No_enfant ; No_parent ; et les autres champs.

La relation doit être établie sur les champs No_parent des deux tables.

Autre problème, votre champ age doit être un champ numérique afin de pouvoir y faire des sélections. De plus, il faudrait créer une requête mise à jour pour calculer automatiquement les âges des enfants. Sinon, cela veut dire que chaque année, il faut venir modifier chaque enregistrement.

Merci beaucoup .... oui c'est vrai que j'ai du mal avec mes champs, ce n'est pas très clair dans ma tête, donc je fais pas mal d'erreur, mais là avec vos explications c'est plus logique !!! :smile:
Je suis contente car ma relation était bonne !! J'ai bien mis les champs N° parents des 2 tables en relation !!

Pouvez-vous m'expliquer comment créer une requête mise à jour ? car moi j'ai calculé les âges moi-même...

Encore une dernière question... :blush:
Comment réaliser ma note si j'ai 2 fichiers... celui sur excel (mise à jour des salariés avec noms, adresses, service, et site 1 et 2) et celui sur access avec les enfants (enfin la requête...) ? :blush: j'ai vraiment du mal à comprendre :embarassed:.

Merci !
 

patrice084

Best Member
bithia5 link=topic=6924.msg62259#msg62259 date=1131718376 a dit:
Merci beaucoup .... oui c'est vrai que j'ai du mal avec mes champs, ce n'est pas très clair dans ma tête, donc je fais pas mal d'erreur, mais là avec vos explications c'est plus logique !!! :smile:
Je suis contente car ma relation était bonne !! J'ai bien mis les champs N° parents des 2 tables en relation !!

Pouvez-vous m'expliquer comment créer une requête mise à jour ? car moi j'ai calculé les âges moi-même...

Comment réaliser ma note si j'ai 2 fichiers... celui sur excel (mise à jour des salariés avec noms, adresses, service, et site 1 et 2) et celui sur access avec les enfants (enfin la requête...) ? :blush: j'ai vraiment du mal à comprendre :embarassed:.

Heu ! Non, la relation était mal définie, puisque les champs mal définis. :wink2:

Pour la requête mise à jour, vous créez une requête à partir de la table enfant. Vous changez le type de requête par le menu requête. Vous mettez le champ age dans la grille et sur la ligne mise à jour vous mettez :
Ent((Date()-[date de naissance])/365.25). Ensuite, vous cliquez sur le point d'exclamation dans la barre d'outil pour lancer le calcul.

Attention, pensez à modifier votre champ age dans la table.

Que vient faire excel maintenant dans le cas ?
 

patrice084

Best Member
bithia5 link=topic=6924.msg62249#msg62249 date=1131716812 a dit:
Voilà je me décide pour demander de l'aide car je peine avec un exo access. :cry:

Bon, je m'en vais au cinéma. Voici mon travail. Vous remarquerez que j'ai crée un champ date au 31/12 dans la table enfant. Cela permettra de sélectionner plus facilement les enfants. Ce champ se met à jour automatiquement avec l'age dans la même requête.
http://cjoint.com/?llpCh4fRA3

J'ai ensuite fait la requête sélection des enfants. Il manque l'adresse des parents, à moins que ces infos soient dans le fichier Excel dont vous parliez précédemment.
 

bithia5

New Member
Merci !
je vais essayer de finir cet exercice aujourd'hui ! je vous tiens au courant ! :blush:

Bon film !! au fait vous allez voir quoi ?? :wink2:
 

bithia5

New Member
J'ai trouvé aussi (si c'est juste) que je pouvais mettre dans champ "date de naissance", le critère de sélection : >=#31/12/1993# et ça marche aussi. Est-ce que c'est aussi une autre solution pour mon exercice ?

Je n'ai pas très bien compris comment fonctionne la mise à jour et pourquoi a-t-on besoin de créer une autre requête...

Oui l'adresse, le service où travaillent les parents sont dans la mise à jour de mon fichier "employes". Il fallait que je fasse un fichier de données en choississant comme logiciel soit Word, Excel ou Access. J'ai choisi Excel.

http://cjoint.com/?llqygYaP5T

Comment faire pour combiner ce fichier avec celui des enfants ? :blush:

Merci
 

vestale974

Active Member
Salut,
Il serait plus judicieux pour calculer l'âge d'utiliser la fonction suivante :
Age: DiffDate("aaaa";[date de naissance];SérieDate(2003;12;31))
@+
 

patrice084

Best Member
vestale974 link=topic=6924.msg62357#msg62357 date=1131727451 a dit:
Il serait plus judicieux pour calculer l'âge d'utiliser la fonction suivante :
Age: DiffDate("aaaa";[date de naissance];SérieDate(2003;12;31))

Bah, en matière de calcul d'age, je préfère ma formule arithmétique :wink2:

Cela, dit, c'est vrai que je n'ai pas fait cas de l'année 2003 et que j'ai fait le travail comme si c'était pour cette année puisque cela automatise le travail.
 

patrice084

Best Member
bithia5 link=topic=6924.msg62303#msg62303 date=1131722614 a dit:
J'ai trouvé aussi (si c'est juste) que je pouvais mettre dans champ "date de naissance", le critère de sélection : >=#31/12/1993# et ça marche aussi. Est-ce que c'est aussi une autre solution pour mon exercice ?

Je n'ai pas très bien compris comment fonctionne la mise à jour et pourquoi a-t-on besoin de créer une autre requête...

Oui l'adresse, le service où travaillent les parents sont dans la mise à jour de mon fichier "employes". Il fallait que je fasse un fichier de données en choississant comme logiciel soit Word, Excel ou Access. J'ai choisi Excel.
Comment faire pour combiner ce fichier avec celui des enfants ? :blush:

erci

Oui, effectivement c'est encore plus rapide de ne mettre que la date, mais attention à mettre aussi <=#31/12/2002# pour ne pas avoir ceux de moins de un an.

De de fait, la requête mise à jour ne sert plus à rien et on peut se contenter de la requête sélection.

Pour le fichier Excel, vous avez fait un mauvais choix. Techniquement c'est réalisable. Voilà comment j'ai procédé :
1 - Depuis Access Import de la feuille Excel.
2 - Modification de la clé de la nouvelle table créée. J'ai mis une clé double sur nom et prénom afin de pouvoir éviter les doublons, bien que dans l'absolu rien n'empêche l'existence de doublon. On est obligé de procéder ainsi car les n° ne sont pas les mêmes dans Access et dans Excel.
3 - Venir ajouter dans la fenêtre des relations la nouvelle table et définir la nouvelle relation entre la table parent et la nouvelle table (attention, relation sur les deux champs nom et prénom)
4 - Dans la requête sélection, on rajoute la nouvelle table et les champs nécessaires;

Vous voilà avec vos infos. Il ne reste plus qu'à faire imprimer vos lettres. Deux méthodes :
- Publipostage access / Word avec utilisation de la méthode catalogue pour éviter d'avoir deux lettres pour les parents ayant deux enfants.
- Création d'un état avec regroupement sur le champ nom parent et mise en forme de votre état pour le transformer en lettre.
 

lolye95

New Member
bithia je tattend parce que je suis sur ce devoir et j'ai un problème aussi alors si quelqu'un peut m'aider!!!
voila j'ai fait une table sous access et j'ai un problème avec le champs code postal
en fait j'arrive pas a mettre le code postal 02000 ca me donne 2000 sans le zero devant quelqu'un sait comment faire snif merki
 

vestale974

Active Member
lolye95 link=topic=6924.msg63969#msg63969 date=1131979135 a dit:
bithia je tattend parce que je suis sur ce devoir et j'ai un problème aussi alors si quelqu'un peut m'aider!!!
voila j'ai fait une table sous access et j'ai un problème avec le champs code postal
en fait j'arrive pas a mettre le code postal 02000 ca me donne 2000 sans le zero devant quelqu'un sait comment faire snif merki
Salut
C'est normal, le zéro est l'élément neutre en math, donc quand tu saisies un code postal entre 01000 et 09999
access affichera 1000 a 9999.
Donc transforme le type en texte, et dans la propriété taille mettre 5
@+
 

lolye95

New Member
j'ai un problème snif
voila jai fait ma table employé (donc apparement il faut atribuer un numero a chaque parent dans le sujet on nous dit la table existe deja donc on fait comme ci elle existe et le dernier parent son numero c 143)
le problème c'est que je n'arrive pas a mettre en relation les deux tables (enfant et parent) car je ne peux mettre le 143 en clef primaire car on ne peut pas mettre en double une clef primaire.
Je sais pas si c'est clair la....
comment faire pour vous montrer ce que j'ai fait ??
 

patrice084

Best Member
lolye95 link=topic=6924.msg63994#msg63994 date=1131980984 a dit:
voila jai fait ma table employé (donc apparement il faut atribuer un numero a chaque parent dans le sujet on nous dit la table existe deja donc on fait comme ci elle existe et le dernier parent son numero c 143)
le problème c'est que je n'arrive pas a mettre en relation les deux tables (enfant et parent) car je ne peux mettre le 143 en clef primaire car on ne peut pas mettre en double une clef primaire.

Non pas très clair, mais on va débroussailler ! Déjà, on ne met pas un contenu de champ (143) en clé primaire mais un champ (No_parent). S'il vous refuse de définir la relation c'est que :
1 - Soit vous avez mal défini votre clé primaire dans l'une des deux tables. Pour info, dans la table enfant, c'est le No_Enfant qui doit être clé primaire et non le No_parent. Dans la table parent, c'est No_parent qui est la clé.
2 - Vous n'avez pas défini le même type de donnée (un champ est texte et l'autre numérique)
3 - Vous avez saisi dans la table enfant un No de parent qui n'existe pas dans la table parent.

Vérifiez ces 3 points et rendez compte !
 

teetoon84

New Member
J'ai le meme sujet à faire à la différence que je ne comprend rien à ACCESS j'ai du mal avec ce logiciel ... Alors pour moi les requêtes ca veut rien dire j'ai vraiment besoin d'aide je n'ai meme pas les bases ...
Merci d'avance
 

teetoon84

New Member
Et si quelqu'un connait un bon site qui pourrait tout simplement m expliquer les bases d'ACCESS ca serai sympa parce que je suis vraiment perdu..
C'est difficile de comprendre toute seule ..
Le CNED c'est bien mais la j'avoue j'aurai bien besoin d'un prof .. :arrow2:
 

patrice084

Best Member
teetoon84 link=topic=6924.msg64100#msg64100 date=1131990151 a dit:
Et si quelqu'un connait un bon site qui pourrait tout simplement m expliquer les bases d'ACCESS ca serai sympa parce que je suis vraiment perdu..
C'est difficile de comprendre toute seule ..
Le CNED c'est bien mais la j'avoue j'aurai bien besoin d'un prof ..  :arrow2:

Pourquoi ne pas prendre un accompagnement proposé par le CNED ?
 

teetoon84

New Member
Bah en fait je suis en Corse et il n'y a pas de CNED ici alors on m a dit que ca ne servait a rien ..
Du coup je suis completement perdu surtout en informatique, c'est difficile de comprendre ca toute seule ... Je connaissais les bases de Word j'ai chercher à appronfondir mais c'est difficile j'ai vraiment du mal .. :wub
 

teetoon84

New Member
J'ai lu des tas d'explications sur ACCESS mais en fait il me faudrait vraiment une aide concrète ... C'est difficile comme ca à distance ..
J'aimerai vraiment qu'on m aide sur un devoir pour que je puisse comprendre ..
Je ne sais meme pas ce que c'est une clé primaire ..
 

patrice084

Best Member
teetoon84 link=topic=6924.msg64129#msg64129 date=1131992172 a dit:
J'ai lu des tas d'explications sur ACCESS mais en fait il me faudrait vraiment une aide concrète ... C'est difficile comme ca à distance ..
J'aimerai vraiment qu'on m aide sur un devoir pour que je puisse comprendre ..
Je ne sais meme pas ce que c'est une clé primaire ..

Pour comprendre la métode merise :
http://www.ecogesam.ac-aix-marseille.fr/Resped/Info/Merise/merise.htm

Des fiches sur access :
http://www.petitkar.com/