[Access] Besoin aide relation entre 2 tables
Fermé
jackkkkk
Messages postés
1
Date d'inscription
mardi 21 août 2007
Statut
Membre
Dernière intervention
21 août 2007
-
21 août 2007 à 17:25
miso - 2 nov. 2008 à 13:15
miso - 2 nov. 2008 à 13:15
A voir également:
- [Access] Besoin aide relation entre 2 tables
- Tables des matières word - Guide
- 2 ecran pc - Guide
- Word numéro de page 1/2 - Guide
- 2 comptes whatsapp - Guide
- 2 au carré symbole iphone ✓ - Forum iPhone
7 réponses
coco49rico
Messages postés
92
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
30 novembre 2011
76
22 août 2007 à 11:39
22 août 2007 à 11:39
Salut Jackkkkk,
Si j'ai bien compris, tu veux faire une jointure entre ta table 1 et ta table 2.
La table 1 donne une liste partielle de ton magasin qui est en table 2.
Pour répondre à ta question, il faut passer par une requête.
Insertion/requête/Mode création
Clique sur la première table "Table 1" puis ajouter
Clique sur la deuxième table "Table 2" puis ajouter
Fermer
Supprime le trait entre les 2 tables (clic droit et supp). Par défaut Access prend le champ num come lien.
Glisse le champ num_Produit1 de la table 1 vers le champ num_Produit2 de la table 2
Double-clique sur le trait que tu viens de créer et sélectionne l'option 2. Cette option permettra de filtrer les données par rapport à ta table 1.
Déplace le champ prix de la table 2 dans la case "champ" en bas de la requête.
Menu affichage/Totaux
Un nouveau menu "operation" vient de s'afficher en bas de la requête.
Sélectionne "Somme"
Au final, cette requête fera une jointure entre la table 1 et la table 2, en filtrant par rapport à la table 1 et donnant la somme des prix.
Maintenant, j'espère que tu as compris, tu devrais pouvoir aussi faire une requête avec le total des prix du magasin et même par famille de produit si tu rajoutes un autre champ "famille"
Rico
Si j'ai bien compris, tu veux faire une jointure entre ta table 1 et ta table 2.
La table 1 donne une liste partielle de ton magasin qui est en table 2.
Pour répondre à ta question, il faut passer par une requête.
Insertion/requête/Mode création
Clique sur la première table "Table 1" puis ajouter
Clique sur la deuxième table "Table 2" puis ajouter
Fermer
Supprime le trait entre les 2 tables (clic droit et supp). Par défaut Access prend le champ num come lien.
Glisse le champ num_Produit1 de la table 1 vers le champ num_Produit2 de la table 2
Double-clique sur le trait que tu viens de créer et sélectionne l'option 2. Cette option permettra de filtrer les données par rapport à ta table 1.
Déplace le champ prix de la table 2 dans la case "champ" en bas de la requête.
Menu affichage/Totaux
Un nouveau menu "operation" vient de s'afficher en bas de la requête.
Sélectionne "Somme"
Au final, cette requête fera une jointure entre la table 1 et la table 2, en filtrant par rapport à la table 1 et donnant la somme des prix.
Maintenant, j'espère que tu as compris, tu devrais pouvoir aussi faire une requête avec le total des prix du magasin et même par famille de produit si tu rajoutes un autre champ "famille"
Rico
coco49rico
Messages postés
92
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
30 novembre 2011
76
24 août 2007 à 08:34
24 août 2007 à 08:34
Salut Jack,
Avant toute chose, il y a une fonctionnalité géniale sous Access qui permet de compacter un fichier.
Ton fichier de 77Mo passe à 384Ko (Outils/Utilitaires/Compacter)
J'ai regardé tes tables :
Liste complète et prix (champs "N°", "Liste complète" et "Prix")
Tableau Liste Produits (champs "N°" et "Produits")
Si je recapitule, tu veux lier les 2 tables par rapport à un champ commun qui est une référence de produit et faire la somme des prix par référence.
J'ai trouvé deux points bloquants :
Le premier point bloquant : Tu as par ex "01C13Z" de la permière table à lier avec 01C13Z de la deuxième table.
2 choses possibles : enlever les guillemets de la Liste complète ou utiliser une requête intermédiaire pour la reformater.
Insertion-requête-mode création-ajout table "Liste complète et prix" puis insère dans le premier champ" Liste: Gauche(Droite([liste complète],7),6)" et ajout aussi le champ "prix". Cette formule enlève les guillemets (attention, ne marche que pour ton cas où les données ont la même taille).
Le deuxième point bloquant : Tes prix sont dans un format avec un point 3245.34 et Access ne sait pas calculer ce genre de format, il lui faut une virgule (d'où ton message d'erreur ci-dessus). Le plus simple est de sélectionner la colonne, édition-remplacer- point par virgule. La manip de reformatage ci-dessus dans le premier point ne marcherait pas, les prix n'ont pas le même format 3456,23 ou 3245,4 ou 4563.
Une fois que ces deux points sont résolus, passont au lien des tables.
Il ne faut plus maintenant lier les tables entre elles mais la reqûete qu'on vient de créer et la table "Tableau Liste Produits".
Voir manip expliquée ci-dessus.
Avec tout ça tu devrais t'en tirer. Je te laisse faire la manip, même si je l'ai déjà faite sur ton fichier sur mon PC mais je le garde au chaud, mettre les mains dedans ça aide à apprendre.
Rico
Avant toute chose, il y a une fonctionnalité géniale sous Access qui permet de compacter un fichier.
Ton fichier de 77Mo passe à 384Ko (Outils/Utilitaires/Compacter)
J'ai regardé tes tables :
Liste complète et prix (champs "N°", "Liste complète" et "Prix")
Tableau Liste Produits (champs "N°" et "Produits")
Si je recapitule, tu veux lier les 2 tables par rapport à un champ commun qui est une référence de produit et faire la somme des prix par référence.
J'ai trouvé deux points bloquants :
Le premier point bloquant : Tu as par ex "01C13Z" de la permière table à lier avec 01C13Z de la deuxième table.
2 choses possibles : enlever les guillemets de la Liste complète ou utiliser une requête intermédiaire pour la reformater.
Insertion-requête-mode création-ajout table "Liste complète et prix" puis insère dans le premier champ" Liste: Gauche(Droite([liste complète],7),6)" et ajout aussi le champ "prix". Cette formule enlève les guillemets (attention, ne marche que pour ton cas où les données ont la même taille).
Le deuxième point bloquant : Tes prix sont dans un format avec un point 3245.34 et Access ne sait pas calculer ce genre de format, il lui faut une virgule (d'où ton message d'erreur ci-dessus). Le plus simple est de sélectionner la colonne, édition-remplacer- point par virgule. La manip de reformatage ci-dessus dans le premier point ne marcherait pas, les prix n'ont pas le même format 3456,23 ou 3245,4 ou 4563.
Une fois que ces deux points sont résolus, passont au lien des tables.
Il ne faut plus maintenant lier les tables entre elles mais la reqûete qu'on vient de créer et la table "Tableau Liste Produits".
Voir manip expliquée ci-dessus.
Avec tout ça tu devrais t'en tirer. Je te laisse faire la manip, même si je l'ai déjà faite sur ton fichier sur mon PC mais je le garde au chaud, mettre les mains dedans ça aide à apprendre.
Rico
coco49rico
Messages postés
92
Date d'inscription
mardi 14 août 2007
Statut
Membre
Dernière intervention
30 novembre 2011
76
22 août 2007 à 21:54
22 août 2007 à 21:54
"Jackkkkk",
Transfères moi ton fichier sur coco49rico@orange.fr, je vais voir ce qui ne va pas.
Je regarde ce qui ne va pas et je t'explique.
Rico
Transfères moi ton fichier sur coco49rico@orange.fr, je vais voir ce qui ne va pas.
Je regarde ce qui ne va pas et je t'explique.
Rico
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci infiniment de ta réponse Rico.
Je bloque toujours malheusreusement:
-j'ai créé une requête, j'ai ma 1re table avec le champ de ma liste de "X" produits et ma 2e table avec les 2 autres champs contenant respectivement la liste de tous les produits disponibles du magasin et dans le 2e les prix de ces produits.
-J'ai mis une relation entre la liste X et la liste complète des produits avec une flèche de la liste X vers la liste complète
-J'ai inséré le champ des prix dans les tableaux de requete en bas et activé l'option somme (c'est le seul à mettre des 3 champs?).
-En exécutant, j'ai un message d'erreur "impossible d'effectuer un regroupement sur les champs selectionnés avex "*" "...
Bref je suis un peu pommé, si tu peux encore m'aider ce serait vraiment sympa.
Je bloque toujours malheusreusement:
-j'ai créé une requête, j'ai ma 1re table avec le champ de ma liste de "X" produits et ma 2e table avec les 2 autres champs contenant respectivement la liste de tous les produits disponibles du magasin et dans le 2e les prix de ces produits.
-J'ai mis une relation entre la liste X et la liste complète des produits avec une flèche de la liste X vers la liste complète
-J'ai inséré le champ des prix dans les tableaux de requete en bas et activé l'option somme (c'est le seul à mettre des 3 champs?).
-En exécutant, j'ai un message d'erreur "impossible d'effectuer un regroupement sur les champs selectionnés avex "*" "...
Bref je suis un peu pommé, si tu peux encore m'aider ce serait vraiment sympa.
Thx, je t'ai envoyé les 2 tables à l'instant.
Jack
Jack
Donc voilà.
J'ai modifié mes données en retirant les guillemets et remplacer les point le tout sous excel.
J'ai mis la relation entre ma liste des produits et la liste des produits, j'ai mis le champ prix en bas et ouvert la case opération. En metta
nt "éxécuter" j'avais encore le message d'erreur *.
Cependant par dépit j'ai décliqué l'option "afficher" en mode création et là la requête s'est éxécutée. J'avais bien en résultat un tableur avec les 3 champs filtrés.
J'ai ensuite cliqué sur "Somme totaux" pour avoir la somme des prix filtrés.
Je crois que ça marche là.
Je t'envoie le résultat sur ta boîte mail (nom=requête 1) , mais cette fois-ci compacté! (merci pour l'astuce)
J'ai modifié mes données en retirant les guillemets et remplacer les point le tout sous excel.
J'ai mis la relation entre ma liste des produits et la liste des produits, j'ai mis le champ prix en bas et ouvert la case opération. En metta
nt "éxécuter" j'avais encore le message d'erreur *.
Cependant par dépit j'ai décliqué l'option "afficher" en mode création et là la requête s'est éxécutée. J'avais bien en résultat un tableur avec les 3 champs filtrés.
J'ai ensuite cliqué sur "Somme totaux" pour avoir la somme des prix filtrés.
Je crois que ça marche là.
Je t'envoie le résultat sur ta boîte mail (nom=requête 1) , mais cette fois-ci compacté! (merci pour l'astuce)