Comparer deux ligne de la meme table sql

Amandine -  
 cyberk -
Bonjour,

comment faire pour comparer deux ligne ds la meme table sql pour apres supprimer les doublons ?

j'ai une table avec 4 champs = id_table, code, date, heure

ce que je veux c comment ecrire la requete qui regarde si dans cette table j'ai deux ou plusieurs ligne où le code et la date sont les memes et dans ce cas je compare l'heure et je supprime la ligne qui a l'heure la plus petite, en d'autre terme je ne garde qu'une seule ligne par code et date et avec l'heure la plus recente

j'espere que j'etais claire

merci
A voir également:

10 réponses

ccar Messages postés 1 Statut Membre 4
 
Peux-tu m'expliquer ta solution, çà m'interésse, merci
4
Amandine
 
thecrazyspy, en fait ce qu'il me faut c juste la requete sql pour le code vba j'en ai
juste la requete qui me sort les id des lignes ou les couples (code, date) sont les meme
merci
1
V3n1 Messages postés 304 Statut Membre 56
 
Il faudrait réussir à crée une boucle.

Ainsi, quand il trouvera deux champs avec les mêmes enregistrements, la requête devra intervenir en supprimant celui où l'enregistrement est le plus récent.
1
thecrazyspy Messages postés 426 Statut Membre 43
 
vous pouvez faire une requete qui selectione tous de la table ensuite faire un tant que .eof, dans le tant que a chaque passage mettre dans des variable les champs voulu et faire un if qui compare le champs precedent et le champs en cours. c'est peu etre pas trop clair
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
V3n1 Messages postés 304 Statut Membre 56
 
Salut,

Tu utilise ACCESS ?
Il existe une propriété dans ACCESS pour interdire les doublons ( au cas ou tu ne le savais pas )

Je pense que la meilleure chose à faire, c'est de d'abord crée une requête qui affiche toutes les lignes où le code et la date sont les mêmes. Après, tu crée une liste déroulante dans un formulaire... qui affiche le réusltat de cette requête et tu crée une procédure evenementielle qui supprime les lignes pour lesquelle l'heure est la plus récente ou non.

Si j'ai mal compris, réexplique moi.
0
Amandine
 
merci pour vos reponse

thecrazyspy
j'ai pas tres bien compris mais je vais quand meme le tenter

V3n1
en fait je veux tous gerer depuis vba
justement pour la requete qui affiche toutes les lignes où le code et la date sont les mêmes je sais pas comment l'ecrire, quand je dis que le code et la date sont les mêmes ça veux pas dire que code = date mais code ligne i = code ligne j ET date ligne i = date ligne j

merci encore une fois
0
thecrazyspy Messages postés 426 Statut Membre 43
 
'Requete
Set Rs_mdp = Server.CreateObject("ADODB.Recordset")
Rs_mdp.Open "Select * from users;", Conn

c'est du visual basic, vba je suppose que sais la meme chose
0
thecrazyspy Messages postés 426 Statut Membre 43
 
juste en faisant un requete c'est pas possible, derrière faut un traitement qui compare les champs entre pour supprimer les doublons, sinon avec un DISTINCT cela supprime les doublons a l'affichage mais pas dans la base de données
0
Amandine
 
merci a tous
probleme réglé ;)
0
cyberk
 
C'est pas dans l'esprit de ce genre de forum de demander de l'aide , et dès que la réponse est trouvée , de ne pas la laisser pour d'autres ...a la longue ça tue le principe même, dont tu tire aussi partie .
0
QuentinP
 
Bonjour,

Je voudrais faire la même chose que ce que Amandine a expliqué.
Pourriez-vous me dire ce que vous avez fait exactement pour comparer deux enregistrements?

Merci bien :-)
-2