Comparaison d'enregistrements sur Access
Résolu
padsouci
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
padsouci Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
padsouci Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous, désolé si ce topic est en double, mais après avoir cherché sur le forum assez longtemps, je n'ai rien trouvé.
Mon problème me semblait assez simple au départ:
En simplifiant, j'ai une table dans laquelle se trouve 3 champs, "pièce", "de" et "à". En gros ça donne:
Je souhaitais faire une requète sélection pour m'assurer que le champ "de" d'un enregistrement est bien égale au champ "à" de l'enregistrement précédent (même si du coup cela va m'indiquer chaque changement de pièce).
Cela fait maintenant une bonne partie de la journée que j'essaye avec notamment la fonction RechDom, mais rien à faire. Cette table est indexée par une clé primaire, j'utilise la version 2003 et je travaille uniquement en SQL pour l'instant.
Est-ce que vous auriez des idées? Parce que là, je sèche.
Merci d'avance.
padsouci
Mon problème me semblait assez simple au départ:
En simplifiant, j'ai une table dans laquelle se trouve 3 champs, "pièce", "de" et "à". En gros ça donne:
PIECE DE A 45E 0 10 45E 10 15 45E 15 28 55R 42 56 55R 56 72
Je souhaitais faire une requète sélection pour m'assurer que le champ "de" d'un enregistrement est bien égale au champ "à" de l'enregistrement précédent (même si du coup cela va m'indiquer chaque changement de pièce).
Cela fait maintenant une bonne partie de la journée que j'essaye avec notamment la fonction RechDom, mais rien à faire. Cette table est indexée par une clé primaire, j'utilise la version 2003 et je travaille uniquement en SQL pour l'instant.
Est-ce que vous auriez des idées? Parce que là, je sèche.
Merci d'avance.
padsouci
A voir également:
- Comparaison d'enregistrements sur Access
- Comparaison million milliard - Accueil - Technologies
- Acer quick access - Forum Logiciels
- Logiciel comparaison photo gratuit - Télécharger - Photo & Graphisme
- Access appdata - Guide
- Mes enregistrements freebox ont disparus - Forum Box et Streaming vidéo
8 réponses
bonjour,
quel est le nom de ta clé primaire ?
a vue de nez je dirais ca:
select t1.pk from table as t1 where t1.de not in(select t2.a from table as t2);
normalement ca ressort toutes les clé primaire où la valeur du champ "a" n'as pas d'équivalent dans le champ "de"
après, peut être que ca ne marche pas, je ne fais pas trop de sql ces temps ci
quel est le nom de ta clé primaire ?
a vue de nez je dirais ca:
select t1.pk from table as t1 where t1.de not in(select t2.a from table as t2);
normalement ca ressort toutes les clé primaire où la valeur du champ "a" n'as pas d'équivalent dans le champ "de"
après, peut être que ca ne marche pas, je ne fais pas trop de sql ces temps ci
Bonjour,
La clé primaire est un champ NumAuto (j'avais pas de champ unique sous la main).
J'essaye ton idée, me faut un peu de temps pour mettre la bonne syntaxe.
Merci en tout cas pour ta réponse.
La clé primaire est un champ NumAuto (j'avais pas de champ unique sous la main).
J'essaye ton idée, me faut un peu de temps pour mettre la bonne syntaxe.
Merci en tout cas pour ta réponse.
le principe (selon moi) c'est de comparer tout les champ "a" avec les champs "de" et de voir lesquels n'ont pas d'égalité
mmmh je pense en fait que cela va être compliqué, vu que ma table contient 20 000 entréées entre 0 et 150 m, avec une précision au cm, donc je pense qu'à peu près toutes les mesures sont représentées. Mais plus je cherche et plus il me semble ne pas y avoir de moyen de se référer à l'enregistrement précédent.
Merci en tout cas, je vais toujours essayer.
Merci en tout cas, je vais toujours essayer.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je suppose que tu fais du vba ?
tu peux lire le tuto suivant:
https://access.developpez.com/faq/?page=SQL#Recordset
en clair tu sauvegarde dans une variable la valeur actuel du champ "a" et tu compare cette variable (dans une boucle) avec la ligne suivante (en mettant a jour la variable a chaque ligne)
voici des morceaux de code qui pourrais t'être utile:
le premier initialise la db du fichier access actuel
le second créé un recordset de la requete
et je suppose que tu comprend le reste
tu peux lire le tuto suivant:
https://access.developpez.com/faq/?page=SQL#Recordset
en clair tu sauvegarde dans une variable la valeur actuel du champ "a" et tu compare cette variable (dans une boucle) avec la ligne suivante (en mettant a jour la variable a chaque ligne)
voici des morceaux de code qui pourrais t'être utile:
Set db = CurrentDb() Set rst = db.OpenRecordset("SELECT tblEmail.Email FROM tblEmail;") rst.movefirst rst!Email rst.movenext rst.close
le premier initialise la db du fichier access actuel
le second créé un recordset de la requete
et je suppose que tu comprend le reste
Euh non en fait, j'utilises Access genre 2 semaines par an, mais je vais m'initier aux bases du langages VBA ce week-end, car ça fait plusieurs fois que j'en entends parler, et je pense que ça peut vraiment m'aider (quel joli week-end en perspective!).
ce n'est pas si dur que ca en a l'air, il suffit juste d'avoir de la logique et de savoir faire des recherches sur google et des copier coller (et aussi savoir lire quelques lignes d'anglais, mais pour ca il y as google trad ^^)