[ACCESS] Requête Ajout
Résolu/Fermé
JeanPierreKoffe
-
Modifié par JeanPierreKoffe le 2/08/2012 à 10:28
JeanPierreKoffe - 4 août 2012 à 11:28
JeanPierreKoffe - 4 août 2012 à 11:28
A voir également:
- [ACCESS] Requête Ajout
- Ajout rapide snap - Forum Snapchat
- Acer quick access - Forum Logiciels
- Access runtime ✓ - Forum Access
- Ajout rapide - Forum Snapchat
- Access appdata - Guide
7 réponses
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
2 août 2012 à 13:27
2 août 2012 à 13:27
Bonjour,
En vous lisant, vous créé autant de table qu'il y a de client par produit principale, est-ce bien cela ?
Pourquoi ne pas avoir une table pour les produits principaux ou vous enregistrez le client, le produit et la date ?
En vous lisant, vous créé autant de table qu'il y a de client par produit principale, est-ce bien cela ?
Pourquoi ne pas avoir une table pour les produits principaux ou vous enregistrez le client, le produit et la date ?
Bonjour,
j'ai du mal m'exprimé.
Soit, pour exemple, la table suivante :
ID_ACHAT ID_CLIENT PRODUIT DERN_DATE_ACHAT NOMBRE
1 1 VESTE 30/06/2012 2
2 1 CHAUSSURES 24/04/2012 2
3 1 BONNET 30/05/2012 1
4 2 CHAUSSURES 27/11/2011 2
5 2 BONNET 15/12/2011 1
6 3 CHAUSSURES 03/05/2012 2
7 4 VESTE 07/04/2012 2
8 5 VESTE 24/02/2012 1
9 5 BONNET 24/02/2012 2
10 6 VESTE 02/06/2012 1
11 6 CHAUSSURES 20/03/2012 3
12 6 BONNET 04/05/2012 1
Aprés ma première requête (sélection) je vais avoir la table suivante :
ID_ACHAT ID_CLIENT PRODUIT DERN_DATE_ACHAT NOMBRE
1 1 VESTE 30/06/2012 2
2 1 CHAUSSURES 24/04/2012 2
3 1 BONNET 30/05/2012 1
4 2 CHAUSSURES 27/11/2011 2
5 2 BONNET 15/12/2011 1
6 3 CHAUSSURES 03/05/2012 2
7 4 VESTE 07/04/2012 2
9 5 BONNET 24/02/2012 2
8 5 VESTE 24/02/2012 1
11 6 CHAUSSURES 20/03/2012 3
10 6 VESTE 02/06/2012 1
12 6 BONNET 04/05/2012 1
Aprés ma requête création de table j'aurai :
ID_ACHAT ID_CLIENT PRODUIT DERN_DATE_ACHAT NOMBRE
1 1 VESTE 30/06/2012 2
4 2 CHAUSSURES 27/11/2011 2
6 3 CHAUSSURES 03/05/2012 2
7 4 VESTE 07/04/2012 2
9 5 BONNET 24/02/2012 2
11 6 CHAUSSURES 20/03/2012 3
Enfin, aprés ma requête ajout je vais avoir :
ID_ACHAT ID_CLIENT PRODUIT DERN_DATE_ACHAT NOMBRE PRODUIT_PRINCIPAL
1 1 VESTE 30/06/2012 2 P
2 1 CHAUSSURES 24/04/2012 2
3 1 BONNET 30/05/2012 1
4 2 CHAUSSURES 27/11/2011 2 P
5 2 BONNET 15/12/2011 1
6 3 CHAUSSURES 03/05/2012 2 P
7 4 VESTE 07/04/2012 2 P
9 5 BONNET 24/02/2012 2 P
8 5 VESTE 24/02/2012 1
11 6 CHAUSSURES 20/03/2012 3 P
10 6 VESTE 02/06/2012 1
12 6 BONNET 04/05/2012 1
Je ne crée donc pas plusieurs table par produit.
Par ailleurs, comme je l'ai expliqué, le produit principal est déterminé par rapport au contenu de la première table. Je ne peux donc pas créer une table Produit_Prinicpal par avance - sauf si je n'ai pas compris le sens de votre phrase :p
C'est peut être ma définition du produit principal qui vous gène, il n'existe pas de produit principal général, il faut considérer que chaque client a un type de produit qu'il affectionne le plus et que ce produit deviendra donc son produit dit "principal".
j'ai du mal m'exprimé.
Soit, pour exemple, la table suivante :
ID_ACHAT ID_CLIENT PRODUIT DERN_DATE_ACHAT NOMBRE
1 1 VESTE 30/06/2012 2
2 1 CHAUSSURES 24/04/2012 2
3 1 BONNET 30/05/2012 1
4 2 CHAUSSURES 27/11/2011 2
5 2 BONNET 15/12/2011 1
6 3 CHAUSSURES 03/05/2012 2
7 4 VESTE 07/04/2012 2
8 5 VESTE 24/02/2012 1
9 5 BONNET 24/02/2012 2
10 6 VESTE 02/06/2012 1
11 6 CHAUSSURES 20/03/2012 3
12 6 BONNET 04/05/2012 1
Aprés ma première requête (sélection) je vais avoir la table suivante :
ID_ACHAT ID_CLIENT PRODUIT DERN_DATE_ACHAT NOMBRE
1 1 VESTE 30/06/2012 2
2 1 CHAUSSURES 24/04/2012 2
3 1 BONNET 30/05/2012 1
4 2 CHAUSSURES 27/11/2011 2
5 2 BONNET 15/12/2011 1
6 3 CHAUSSURES 03/05/2012 2
7 4 VESTE 07/04/2012 2
9 5 BONNET 24/02/2012 2
8 5 VESTE 24/02/2012 1
11 6 CHAUSSURES 20/03/2012 3
10 6 VESTE 02/06/2012 1
12 6 BONNET 04/05/2012 1
Aprés ma requête création de table j'aurai :
ID_ACHAT ID_CLIENT PRODUIT DERN_DATE_ACHAT NOMBRE
1 1 VESTE 30/06/2012 2
4 2 CHAUSSURES 27/11/2011 2
6 3 CHAUSSURES 03/05/2012 2
7 4 VESTE 07/04/2012 2
9 5 BONNET 24/02/2012 2
11 6 CHAUSSURES 20/03/2012 3
Enfin, aprés ma requête ajout je vais avoir :
ID_ACHAT ID_CLIENT PRODUIT DERN_DATE_ACHAT NOMBRE PRODUIT_PRINCIPAL
1 1 VESTE 30/06/2012 2 P
2 1 CHAUSSURES 24/04/2012 2
3 1 BONNET 30/05/2012 1
4 2 CHAUSSURES 27/11/2011 2 P
5 2 BONNET 15/12/2011 1
6 3 CHAUSSURES 03/05/2012 2 P
7 4 VESTE 07/04/2012 2 P
9 5 BONNET 24/02/2012 2 P
8 5 VESTE 24/02/2012 1
11 6 CHAUSSURES 20/03/2012 3 P
10 6 VESTE 02/06/2012 1
12 6 BONNET 04/05/2012 1
Je ne crée donc pas plusieurs table par produit.
Par ailleurs, comme je l'ai expliqué, le produit principal est déterminé par rapport au contenu de la première table. Je ne peux donc pas créer une table Produit_Prinicpal par avance - sauf si je n'ai pas compris le sens de votre phrase :p
C'est peut être ma définition du produit principal qui vous gène, il n'existe pas de produit principal général, il faut considérer que chaque client a un type de produit qu'il affectionne le plus et que ce produit deviendra donc son produit dit "principal".
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
Modifié par Le Pingou le 2/08/2012 à 14:22
Modifié par Le Pingou le 2/08/2012 à 14:22
Bonjour,
Merci pour l'information.
Lorsque vous dite :
Dans une deuxième requête création de table
Cela veut dire que la requête va créer une table ....
Pouvez-vous mettre le code SQL des 3 requêtes, merci ?
Salutations.
Le Pingou
Merci pour l'information.
Lorsque vous dite :
Dans une deuxième requête création de table
Cela veut dire que la requête va créer une table ....
Pouvez-vous mettre le code SQL des 3 requêtes, merci ?
Salutations.
Le Pingou
1ere requête (Sélection) :
R1 :
SELECT ID_ACHAT, ID_CLIENT, L_PRODUIT, DERN_DATE_ACHAT, NOMBRE_ACHAT
FROM T_LISTE
GROUP BY ID_ACHAT, ID_CLIENT, L_PRODUIT, DERN_DATE_ACHAT, NOMBRE_ACHAT
ORDER BY ID_CLIENT, NOMBRE_ACHAT DESC, DERN_DATE_ACHAT DESC ;
2e requête (Création) :
R2:
SELECT ID_CLIENT, First(L_PRODUIT) AS FirstOfProduit INTO T_R2
FROM R1
GROUP BY ID_CLIENT;
3e requête (Mise à Jour) :
R3:
UPDATE LISTE INNER JOIN T_R2 ON T_R2.FirstOfPRODUIT = LISTE.L_PRODUIT SET LISTE.PRODUIT_PRINCIPAL = "P";
Pour la requête création de table, j'ai bien compris que j'en créais une :). Simplement, je ne peux pas déterminer quel est le produit principal avant de regrouper tout les produits acheter par un même client, mais également, je ne crée pas plusieurs table par client par produit.
PS : j'ai modifié le code des requête que je vous ai transmis (car mes libellés et l'architecture de ma base sont plus complexes que la version raccourcie que je vous présente ici).
R1 :
SELECT ID_ACHAT, ID_CLIENT, L_PRODUIT, DERN_DATE_ACHAT, NOMBRE_ACHAT
FROM T_LISTE
GROUP BY ID_ACHAT, ID_CLIENT, L_PRODUIT, DERN_DATE_ACHAT, NOMBRE_ACHAT
ORDER BY ID_CLIENT, NOMBRE_ACHAT DESC, DERN_DATE_ACHAT DESC ;
2e requête (Création) :
R2:
SELECT ID_CLIENT, First(L_PRODUIT) AS FirstOfProduit INTO T_R2
FROM R1
GROUP BY ID_CLIENT;
3e requête (Mise à Jour) :
R3:
UPDATE LISTE INNER JOIN T_R2 ON T_R2.FirstOfPRODUIT = LISTE.L_PRODUIT SET LISTE.PRODUIT_PRINCIPAL = "P";
Pour la requête création de table, j'ai bien compris que j'en créais une :). Simplement, je ne peux pas déterminer quel est le produit principal avant de regrouper tout les produits acheter par un même client, mais également, je ne crée pas plusieurs table par client par produit.
PS : j'ai modifié le code des requête que je vous ai transmis (car mes libellés et l'architecture de ma base sont plus complexes que la version raccourcie que je vous présente ici).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
2 août 2012 à 16:07
2 août 2012 à 16:07
Bonjour,
Merci.
Devant m'absenter, Je vais regarder cela plus tard.
Patience.
Merci.
Devant m'absenter, Je vais regarder cela plus tard.
Patience.
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
3 août 2012 à 22:24
3 août 2012 à 22:24
Bonjour,
Désolé, dans votre cas vous ne pouvez pas en une seule requête avec source les 3 autres.
Désolé, dans votre cas vous ne pouvez pas en une seule requête avec source les 3 autres.