Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/03/2011, 10h13   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 71
Points : 14
Points : 14
Par défaut Trouver une combinaison en double

Bonjour,
Je souhaite rechercher dans une tableA, si la combinaison des colonne1 et colonne2 est unique.
Si non je veux ecrire la valeur dans une tableB.

Mais je n'y arrive pas.
J'espère avoir été clair dans mon explication.
sebeni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 12h09   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 742
Points : 10 742
Envoyer un message via MSN à jpcheck
salut,

en utilisant COUNT() sur la concatenation de tes champs, tu peux voir si la combinaison est unique (COUNT=1) ou non (COUNT>1)

reste a placer le resultat dans ta tableB avec
soit un INSERT INTO
soit un SELECT * INTO
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 14h28   #3
Candidat au titre de Membre du Club
 
Inscription : janvier 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 71
Points : 14
Points : 14
JE n'y arrive pas.

Code :
1
2
3
INSERT INTO RAPPORT
SELECT *
FROM  (SELECT COUNT(CCS_SAP_EXTRACT_BRUTE.[MODEL]+CCS_SAP_EXTRACT_BRUTE.[IBM MODSER])>1 FROM CCS_SAP_EXTRACT_BRUTE);
Ma table Rapport à deux colonnes MODELM et IBM MODSER, où je souhaite que soit copié les duo en doubles.
sebeni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 15h03   #4
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 742
Points : 10 742
Envoyer un message via MSN à jpcheck
Ok,

allons y au moins par etape:

- calcul du nombre d'occurence par combinaison:
Code SQL :
SELECT [MODEL] & [IBM MODSER] AS Combi, COUNT([MODEL] & [IBM MODSER]) AS Compteur FROM CCS_SAP_EXTRACT_BRUTE GROUP BY [MODEL] & [IBM MODSER];

-selection des seules lignes avec un COUNT>1

Code SQL :
1
2
SELECT [MODEL] & [IBM MODSER] AS Combi, COUNT([MODEL] & [IBM MODSER]) AS Compteur FROM CCS_SAP_EXTRACT_BRUTE GROUP BY [MODEL] & [IBM MODSER]
HAVING COUNT([MODEL] & [IBM MODSER])>1;

- a toi de faire la derniere partie
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 15h07   #5
Candidat au titre de Membre du Club
 
Inscription : janvier 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 71
Points : 14
Points : 14
Merci je vais essayer
sebeni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 16h00   #6
Candidat au titre de Membre du Club
 
Inscription : janvier 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 71
Points : 14
Points : 14
Pourquoi quand je fais ce code, j'ai pas de message d'erreur mais rien ne se passe.
Code :
1
2
3
4
5
6
7
8
INSERT INTO RAPPORT
SELECT *
FROM(
SELECT [INVENTORY NUMBER] & [IBM MODSER] AS CONCATENATION , [IBM MODSER] , COUNT([INVENTORY NUMBER] & [IBM MODSER]) AS Compteur
FROM CCS_SAP_EXTRACT_BRUTE 
GROUP BY [INVENTORY NUMBER] & [IBM MODSER],[IBM MODSER]
HAVING COUNT([MODEL] & [IBM MODSER])>1)
;
Pour info, je veux mettre le resultat de la requête dans une table car j'ai une autre requête a faire tourner, pour garder uniquement les IBM MODSER indentique qui ont [INVENTORY NUMBER] & [IBM MODSER] différent.
sebeni est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 16h04   #7
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 742
Points : 10 742
Envoyer un message via MSN à jpcheck
attention
- entre ton GROUP BY et ton HAVING, les champs semblent etre differents
- ton format de donnees doit correspondre au format de ta table finale
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h56.


 
 
 
 
Partenaires

Hébergement Web