Salut
Je m'explique:
J'ai deux tables avec des structures identiques
Je veux comparer les données
Afin de voir ce qui a évoluer
Merci pour toute aide
Salut
Je m'explique:
J'ai deux tables avec des structures identiques
Je veux comparer les données
Afin de voir ce qui a évoluer
Merci pour toute aide
Salut
Je m'explique:
J'ai deux tables avec des structures identiques
Je veux comparer les données
Afin de voir ce qui a évoluer
Merci pour toute aide
Bonjour?
| Non ce sont des tables qui ne bougent qu'une fois par mois
| et justement je voudrais voir quelles lignes ont étés modifiées du
| premier coup d'oeil
Voici une proposition avec une simple requête SQL.
(j'avais de l'imagination ce soir, mais je suis assez fier du résultat
;-))
Préliminaire : soit tu peux ne retenir que quelques champs importants pour
effectuer la
comparaison,
au risque de passer à côté de quelques modifs que l'on pourra qualifier de
moindre importance,
soit tu veux tout savoir de la moindre modif, donc tu as besoin de 100%
des champs, et le code
SQL est alors facilement modifiable.
Dans l'exemple ci-dessous, je ne fais le test que sur 3 champs, mais rien
ne nous empêche d'en
ajouter d'autres.
Le résultat ne laissera apparaître que les 2 enregistrements qui
diffèrent, précédés d'un
identifiant Table1 ou Table2
selon la table de laquelle il est issu :
SELECT "Table1:" AS [Situé dans ], *
FROM LaTable1
WHERE ([Champ1] & [Champ2] & [Champ3])
Not In (SELECT [Champ1] & [Champ2] & [Champ3]
AS Concatenation FROM LaTable2;)
UNION SELECT "Table2:" AS [Situé dans ], *
FROM LaTable2
WHERE ([Champ1] & [Champ2] & [Champ3])
Not In (SELECT [Champ1] & [Champ2] & [Champ3]
AS Concatenation FROM LaTable1;);
Voilà si Christian ATZEL (ou plutôt ChrisTAN d'après l'alias utilisé
;-)))
veut commencer à bâtir la FAQ de MPFA,
en regardant sur Google, on doit en voir plein des propositions toutes
aussi différentes les unes des autres pour une question finalement
toujours identique !!!
Espérant avoir aidé
--
à+
Arnaud
----------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - Les tablettes d'Anor
www.anor.fr.st
----------------------------------------------
Bonjour?
| Non ce sont des tables qui ne bougent qu'une fois par mois
| et justement je voudrais voir quelles lignes ont étés modifiées du
| premier coup d'oeil
Voici une proposition avec une simple requête SQL.
(j'avais de l'imagination ce soir, mais je suis assez fier du résultat
;-))
Préliminaire : soit tu peux ne retenir que quelques champs importants pour
effectuer la
comparaison,
au risque de passer à côté de quelques modifs que l'on pourra qualifier de
moindre importance,
soit tu veux tout savoir de la moindre modif, donc tu as besoin de 100%
des champs, et le code
SQL est alors facilement modifiable.
Dans l'exemple ci-dessous, je ne fais le test que sur 3 champs, mais rien
ne nous empêche d'en
ajouter d'autres.
Le résultat ne laissera apparaître que les 2 enregistrements qui
diffèrent, précédés d'un
identifiant Table1 ou Table2
selon la table de laquelle il est issu :
SELECT "Table1:" AS [Situé dans ], *
FROM LaTable1
WHERE ([Champ1] & [Champ2] & [Champ3])
Not In (SELECT [Champ1] & [Champ2] & [Champ3]
AS Concatenation FROM LaTable2;)
UNION SELECT "Table2:" AS [Situé dans ], *
FROM LaTable2
WHERE ([Champ1] & [Champ2] & [Champ3])
Not In (SELECT [Champ1] & [Champ2] & [Champ3]
AS Concatenation FROM LaTable1;);
Voilà si Christian ATZEL (ou plutôt ChrisTAN d'après l'alias utilisé
;-)))
veut commencer à bâtir la FAQ de MPFA,
en regardant sur Google, on doit en voir plein des propositions toutes
aussi différentes les unes des autres pour une question finalement
toujours identique !!!
Espérant avoir aidé
--
à+
Arnaud
----------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - Les tablettes d'Anor
www.anor.fr.st
----------------------------------------------
Bonjour?
| Non ce sont des tables qui ne bougent qu'une fois par mois
| et justement je voudrais voir quelles lignes ont étés modifiées du
| premier coup d'oeil
Voici une proposition avec une simple requête SQL.
(j'avais de l'imagination ce soir, mais je suis assez fier du résultat
;-))
Préliminaire : soit tu peux ne retenir que quelques champs importants pour
effectuer la
comparaison,
au risque de passer à côté de quelques modifs que l'on pourra qualifier de
moindre importance,
soit tu veux tout savoir de la moindre modif, donc tu as besoin de 100%
des champs, et le code
SQL est alors facilement modifiable.
Dans l'exemple ci-dessous, je ne fais le test que sur 3 champs, mais rien
ne nous empêche d'en
ajouter d'autres.
Le résultat ne laissera apparaître que les 2 enregistrements qui
diffèrent, précédés d'un
identifiant Table1 ou Table2
selon la table de laquelle il est issu :
SELECT "Table1:" AS [Situé dans ], *
FROM LaTable1
WHERE ([Champ1] & [Champ2] & [Champ3])
Not In (SELECT [Champ1] & [Champ2] & [Champ3]
AS Concatenation FROM LaTable2;)
UNION SELECT "Table2:" AS [Situé dans ], *
FROM LaTable2
WHERE ([Champ1] & [Champ2] & [Champ3])
Not In (SELECT [Champ1] & [Champ2] & [Champ3]
AS Concatenation FROM LaTable1;);
Voilà si Christian ATZEL (ou plutôt ChrisTAN d'après l'alias utilisé
;-)))
veut commencer à bâtir la FAQ de MPFA,
en regardant sur Google, on doit en voir plein des propositions toutes
aussi différentes les unes des autres pour une question finalement
toujours identique !!!
Espérant avoir aidé
--
à+
Arnaud
----------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - Les tablettes d'Anor
www.anor.fr.st
----------------------------------------------
Bonjour Raymond
Merci pour ton avis : j'ai trouvé ça tellement simple que je me demandais
pourquoi on n'y avait
pas pensé plus tôt !!
Pour la position, je m'en suis rendu compte juste après avoir posté.
Je me suis rendu compte aussi que dans le cas où une modif d'un
enregistrement,
ce dernier devient justement identique à un autre de l'autre table, on ne
le voit plus
apparaître,
d'où l'intérêt de mettre un maximum de champs dans la concaténation.
Ah oui : on peut afficher un champ Memo, et quelques autres OLE, mais pas
de concaténation
dessus !!
Bon pour le tri, si Champ0 est la clé primaire de la table, on rajoute un
OrderBy à la fin :
SELECT "Table1" AS [Situé dans ], *
FROM Table1
WHERE ([Champ0] & [Champ1] & [Champ2] & [Champ3] & [Champ4] & [Champ5] &
[Champ6] & [Champ7] &
[Champ8] & [Champ9])
Not In
(SELECT [Champ0] & [Champ1] & [Champ2] & [Champ3] & [Champ4] & [Champ5] &
[Champ6] & [Champ7] &
[Champ8] & [Champ9] AS Concatenation FROM Table2;)
UNION
SELECT "Table2" AS [Situé dans ], *
FROM Table2
WHERE ([Champ0] & [Champ1] & [Champ2] & [Champ3] & [Champ4] & [Champ5] &
[Champ6] & [Champ7] &
[Champ8] & [Champ9])
Not In
(SELECT [Champ0] & [Champ1] & [Champ2] & [Champ3] & [Champ4] & [Champ5] &
[Champ6] & [Champ7] &
[Champ8] & [Champ9] AS Concatenation FROM Table1;)
ORDER BY ([Champ0]);
Voilà,
Si ça plaît à Raymond, alors je rajoute ça sur mon site ;-))
--
à+
Bonjour Raymond
Merci pour ton avis : j'ai trouvé ça tellement simple que je me demandais
pourquoi on n'y avait
pas pensé plus tôt !!
Pour la position, je m'en suis rendu compte juste après avoir posté.
Je me suis rendu compte aussi que dans le cas où une modif d'un
enregistrement,
ce dernier devient justement identique à un autre de l'autre table, on ne
le voit plus
apparaître,
d'où l'intérêt de mettre un maximum de champs dans la concaténation.
Ah oui : on peut afficher un champ Memo, et quelques autres OLE, mais pas
de concaténation
dessus !!
Bon pour le tri, si Champ0 est la clé primaire de la table, on rajoute un
OrderBy à la fin :
SELECT "Table1" AS [Situé dans ], *
FROM Table1
WHERE ([Champ0] & [Champ1] & [Champ2] & [Champ3] & [Champ4] & [Champ5] &
[Champ6] & [Champ7] &
[Champ8] & [Champ9])
Not In
(SELECT [Champ0] & [Champ1] & [Champ2] & [Champ3] & [Champ4] & [Champ5] &
[Champ6] & [Champ7] &
[Champ8] & [Champ9] AS Concatenation FROM Table2;)
UNION
SELECT "Table2" AS [Situé dans ], *
FROM Table2
WHERE ([Champ0] & [Champ1] & [Champ2] & [Champ3] & [Champ4] & [Champ5] &
[Champ6] & [Champ7] &
[Champ8] & [Champ9])
Not In
(SELECT [Champ0] & [Champ1] & [Champ2] & [Champ3] & [Champ4] & [Champ5] &
[Champ6] & [Champ7] &
[Champ8] & [Champ9] AS Concatenation FROM Table1;)
ORDER BY ([Champ0]);
Voilà,
Si ça plaît à Raymond, alors je rajoute ça sur mon site ;-))
--
à+
Bonjour Raymond
Merci pour ton avis : j'ai trouvé ça tellement simple que je me demandais
pourquoi on n'y avait
pas pensé plus tôt !!
Pour la position, je m'en suis rendu compte juste après avoir posté.
Je me suis rendu compte aussi que dans le cas où une modif d'un
enregistrement,
ce dernier devient justement identique à un autre de l'autre table, on ne
le voit plus
apparaître,
d'où l'intérêt de mettre un maximum de champs dans la concaténation.
Ah oui : on peut afficher un champ Memo, et quelques autres OLE, mais pas
de concaténation
dessus !!
Bon pour le tri, si Champ0 est la clé primaire de la table, on rajoute un
OrderBy à la fin :
SELECT "Table1" AS [Situé dans ], *
FROM Table1
WHERE ([Champ0] & [Champ1] & [Champ2] & [Champ3] & [Champ4] & [Champ5] &
[Champ6] & [Champ7] &
[Champ8] & [Champ9])
Not In
(SELECT [Champ0] & [Champ1] & [Champ2] & [Champ3] & [Champ4] & [Champ5] &
[Champ6] & [Champ7] &
[Champ8] & [Champ9] AS Concatenation FROM Table2;)
UNION
SELECT "Table2" AS [Situé dans ], *
FROM Table2
WHERE ([Champ0] & [Champ1] & [Champ2] & [Champ3] & [Champ4] & [Champ5] &
[Champ6] & [Champ7] &
[Champ8] & [Champ9])
Not In
(SELECT [Champ0] & [Champ1] & [Champ2] & [Champ3] & [Champ4] & [Champ5] &
[Champ6] & [Champ7] &
[Champ8] & [Champ9] AS Concatenation FROM Table1;)
ORDER BY ([Champ0]);
Voilà,
Si ça plaît à Raymond, alors je rajoute ça sur mon site ;-))
--
à+
Resoir
| ça me plait et je crois que ça va plaire à jmimi.
| il y a peu de chances de retrouver 2 enregistrements identiques à
| cause des modifs , surtout sur une exécution mensuelle.
|
Je crois que Françoise serait fière de moi si elle voyait ça ;-)
J'ai immortalisé ce coup de génie (il faut bien se lancer des fleurs ;-))
ici :
http://perso.wanadoo.fr/anor.fr.st/queries.htm#TblCompare
Il ne reste plus qu'à trouver un moyen pour dire quel champ est différent
mais là je laisse la main !!
--
à+
Arnaud
----------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - Les tablettes d'Anor
www.anor.fr.st
----------------------------------------------
Resoir
| ça me plait et je crois que ça va plaire à jmimi.
| il y a peu de chances de retrouver 2 enregistrements identiques à
| cause des modifs , surtout sur une exécution mensuelle.
|
Je crois que Françoise serait fière de moi si elle voyait ça ;-)
J'ai immortalisé ce coup de génie (il faut bien se lancer des fleurs ;-))
ici :
http://perso.wanadoo.fr/anor.fr.st/queries.htm#TblCompare
Il ne reste plus qu'à trouver un moyen pour dire quel champ est différent
mais là je laisse la main !!
--
à+
Arnaud
----------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - Les tablettes d'Anor
www.anor.fr.st
----------------------------------------------
Resoir
| ça me plait et je crois que ça va plaire à jmimi.
| il y a peu de chances de retrouver 2 enregistrements identiques à
| cause des modifs , surtout sur une exécution mensuelle.
|
Je crois que Françoise serait fière de moi si elle voyait ça ;-)
J'ai immortalisé ce coup de génie (il faut bien se lancer des fleurs ;-))
ici :
http://perso.wanadoo.fr/anor.fr.st/queries.htm#TblCompare
Il ne reste plus qu'à trouver un moyen pour dire quel champ est différent
mais là je laisse la main !!
--
à+
Arnaud
----------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - Les tablettes d'Anor
www.anor.fr.st
----------------------------------------------
Je crois que Françoise serait fière de moi si elle voyait ça ;-)
J'ai immortalisé ce coup de génie (il faut bien se lancer des fleurs ;-))
C'est beau le temps réel.
Il ne reste plus qu'à trouver un moyen pour dire quel champ est différent
mais là je laisse la main !!
Je crois que Françoise serait fière de moi si elle voyait ça ;-)
J'ai immortalisé ce coup de génie (il faut bien se lancer des fleurs ;-))
C'est beau le temps réel.
Il ne reste plus qu'à trouver un moyen pour dire quel champ est différent
mais là je laisse la main !!
Je crois que Françoise serait fière de moi si elle voyait ça ;-)
J'ai immortalisé ce coup de génie (il faut bien se lancer des fleurs ;-))
C'est beau le temps réel.
Il ne reste plus qu'à trouver un moyen pour dire quel champ est différent
mais là je laisse la main !!