Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
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 05/08/2011, 17h25   #1
Membre régulier
 
Inscription : novembre 2010
Messages : 151
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2010
Messages : 151
Points : 89
Points : 89
Par défaut Détecter champs égaux d'un enregistrement à l'autre

Bonjour,

J'ai une table composée des champs :
  • [Année]
  • [Genre]
  • [Nom_fam]
  • [Prenom]
  • [Badge]
  • [...]
dans laquelle je stocke année par année le Numéro de badge (champ [Badge]pour chaque membre (champs [Genre] + [Nom_fam] + [Prenom]) de l'association. Lorsqu'un membre rend son badge, le badge peut être affecté à un autre membre mais plusieurs années après.

Je cherche à construire une requête qui me sélectionne les numéros de badge qui ont changé de propriétaires ([Genre] & [Nom_fam]&[Prenom]) d'une année sur une autre.

Jean-Pierre
jeanpierre78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2011, 03h13   #2
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 594
Points : 1 594
Envoyer un message via MSN à carden752
Bonjour,

Une requête combinée avec la clause where exists, quelque chose de ce style.
Code :
select distinct nom_fam, badge, ... from table where exists (select nom_fam, badge, ... from table as table2 where table2.badge=table.badge and table.nom_fam<>table2.nom_fam)
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2011, 06h54   #3
Membre du Club
 
Inscription : juin 2008
Messages : 126
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 126
Points : 54
Points : 54
Bonjour Jeanpierre78,

La table, telle que décrite, ne permet pas ce genre de requête. En effet, un champs ne contient qu'une valeur.
Il conviendrait de concevoir l'application en prévoyant un historique d'affectation des badges, historique lié à la table des titulaires par une relation de un à plusieurs.
Bon weekend

Harry
Harry Covair est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2011, 09h11   #4
Membre régulier
 
Inscription : novembre 2010
Messages : 151
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2010
Messages : 151
Points : 89
Points : 89
Bonjour,

Merci de vos réponses.

Ma table est en fait une table de liaison :



Est-ce cela change quelque chose?

Jean-Pierre
jeanpierre78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2011, 09h17   #5
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
@Carden752 : Pas de Exists en SQL ACCESS, il faut utiliser IN ()

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2011, 10h08   #6
Membre du Club
 
Inscription : juin 2008
Messages : 126
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 126
Points : 54
Points : 54
Tel que je comprends, nous sommes dans le cas d’une relation de plusieurs à plusieurs.
Une solution simple qui me vient à l’esprit est d’exploiter la requête native de recherche de doublons sur numéro de badge. L'assistant est explicite.
Bon weekend
Harry
Harry Covair est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2011, 11h03   #7
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 594
Points : 1 594
Envoyer un message via MSN à carden752
Citation:
Envoyé par loufab Voir le message
@Carden752 : Pas de Exists en SQL ACCESS, il faut utiliser IN ()

Cordialement,
Bonjour,

tu es sur? Pourtant exists est consideré comme un mot réservé du langage, il sert à quoi alors? J'avoue, je programme plus sur Oracle donc je peux me tromper.
Liste des mots réservés access 2003
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2011, 11h44   #8
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
Citation:
Envoyé par loufab Voir le message
@Carden752 : Pas de Exists en SQL ACCESS, il faut utiliser IN ()
si si, EXISTS ...euhhh existe aussi sous Access et fonctionne très bien.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2011, 12h39   #9
Membre régulier
 
Inscription : novembre 2010
Messages : 151
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : novembre 2010
Messages : 151
Points : 89
Points : 89
Bonjour,

Merci, vous êtes des champions.

La solution de la requête :
Code :
1
2
3
SELECT DISTINCT Cotisations.Nom_fam, Cotisations.Badge
FROM Cotisations
WHERE (((Cotisations.Badge)<>"Sans") AND ((Exists (select nom_fam, badge from Cotisations as Cotisations2 where Cotisations2.badge=Cotisations.badge and Cotisations.nom_fam<>Cotisations2.nom_fam))<>False));
fonctionne et me permet d'isoler les badges qui ont changé de propriétaires.

Jean-Pierre
jeanpierre78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2011, 22h05   #10
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Mea culpa.

Effectivement Exists est valide et renvoi une expression true/false à la différence du in().
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h41.


 
 
 
 
Partenaires

Hébergement Web