Bonjour à tous et merci de votre temps et de votre aide.
Je fais actuellement de l'optimisation de traitement sur des bases Access. En gros ma base actuelle est une chaîne de requêtes utilisant des tables intermédaires et fournissant en bout de ligne un rapport de gestion. L'optimisation consite à diminuer le temps de traitement et à automatiser les tâches manuelles.
Mon problème vient de la comparaison de mes résultats. L'objectif est que la base d'origine et la base optimisée fournissent les même résultat dans les même tables.
Pour compliquer la tâche je n'ai pas de clef primaire clairement identifiée :-(.
Actuellement voilà comment je procède :
- Calcul de la base originale
- Calcul de la base optimisée
- Création de tables temporaires ajoutant une clef primaire par concaténation des champs de la table et hachage via un l'algorithme MD5. Il est impossible de faire des jointures sur chaque champ de la table car j'en ai trop. Et on ne peut pas faire de jointure sur un champ mémo, même si Access accèpte cela les résultats sont faux.
- Comparaison des clefs hachées pour déteminer si un enregistrement existe dans la table originale et pas dans la table optimisée et vice versa.
Cela fonctionne mais est très lent et mal pratique car si j'identifie bien les absents et les présents repérer les différences n'a rien d'évident.
J'aurai aimé avoir vos idées pour un processus plus rapide et qui idéalement signalerai les différences au sein d'un enregistrement.
Noter qu'il y a des cas où je traite dans mon optimisation moins de données que dans l'original (ex : seulement les 2 dernières années au lieu de l'historique depuis l'avénement de l'univers) donc il peut y avoir des enregistrement en moins dans l'optimisée.
A+
Partager