Importation fichier Excel et comapraison avec table Access

Tempio

XLDnaute Occasionnel
Salut à tous, j'aurais besoin de votre aide svp.
J'aimerais pouvoir importer un fichier excel avec des données (correspondant à une table en Access) et les comparer à celles de la BDD Access. De telle sorte que je puisse savoir s'il ya eu des ajouts (entrée de nouveaux noms) ou des sorties (des départs de personnes qui existaient ds la BDD). Après cette comparaison, j'aimairais pouvoir ajouter ces extractions ds deux tables différentes (Entree) et (Sortie) en fonction de la comparaison.

Un exple : Si mon fichier excel à importer contient 200 enregistrements et que ds la BDD Access il y en que 150. Alors on dira qu'il a eu 50 nouveaux enregistrements et donc ceux ci seront enregistrés ds la table Entree.

Inversement lorsque le fichier excel en a 150 et que la BDD Access en a 200, on dira qu'il ya eu 50 départs et ceux ci seront enregistrés ds la table Sortie.

Merci d'avance....
 

tototiti2008

XLDnaute Barbatruc
Re : Importation fichier Excel et comapraison avec table Access

Bonjour Tempio,

Pourquoi le passage par Excel ?
Pourquoi ne pas importer directement tes données à comparer dans Access et évaluer les non correspondances ?

Un exple : Si mon fichier excel à importer contient 200 enregistrements et que ds la BDD Access il y en que 150. Alors on dira qu'il a eu 50 nouveaux enregistrements et donc ceux ci seront enregistrés ds la table Entree.

Oui, 50 entrées, ou alors 70 entrées et 20 sorties... Sans vérification de correspondance sur une clé impossible à dire
 

Tempio

XLDnaute Occasionnel
Re : Importation fichier Excel et comapraison avec table Access

Merci de t'en soucier Tototiti2008,

En fait, c'est de cette façon qu'il a été demandé de travailler. Le fichier excel en fait est généré par un SGBD et c'est fastidieux de comparer les entrées et sorties manuellement. Alors j'aimerais bien pouvoir trouver un moyen de comparer l'ancien et le nouveau fichier (avec une méthode assez légère et mm pas forcement Access) afin de faire le décompte des entrées et sorties.

En plus après ce tri des entrées et sorties, il faudra encore que je fasse d'autres requêtes dans les nouvelles tables (Entree et Sortie). C'est pour cela que j'aimerais utiliser Access pour le langage SQL.
 

Tempio

XLDnaute Occasionnel
Re : Importation fichier Excel et comapraison avec table Access

J'ai eu une pte idée : c'est à dire de créer deux tables sur lesquelles j'effectuerai les comparaisons. Une 1ere table qui servira de reférence (données du mois dernier) et une 2e table avec les données actuelles. Ensuite je compte faire une requete qui me sortirait les entrées et les sorties. Sauf que je n'ai pas encore une idée de la requete lol mais pensez vous que ce soit une bonne solution ?
 

tototiti2008

XLDnaute Barbatruc
Re : Importation fichier Excel et comapraison avec table Access

Re,

Pour évaluer les "non correspondances" entre 2 tables, Access est mieux équipé qu'Excel, il y a même un assistant dans Access pour réaliser une requête de non correspondance... mais ce n'est que mon avis.
De toute façon, à part des avis sur la meilleure méthode, tu ne pourra pas avoir de piste de solution claire si on a pas une idée de ce à quoi ressemblent tes données dans les 2 "tables" à comparer...
Un fichier Excel avec un aperçu des données (sans données confidentielles), et éventuellement la précision de quelle peut être la "clé primaire" de tes données pour comprendre sur quel(s) champ(s) vérifier la correspondance.
 

Tempio

XLDnaute Occasionnel
Re : Importation fichier Excel et comapraison avec table Access

Voici deux exemples de fichiers que j'aimerais comparer pour faire une sorte de tri. J'espère avoir été assez précis ds mes comments.
 

Pièces jointes

  • Effectif de janvier.xls
    16 KB · Affichages: 70
  • Effectif Fevrier.xls
    15.5 KB · Affichages: 94

tototiti2008

XLDnaute Barbatruc
Re : Importation fichier Excel et comapraison avec table Access

Re,

Si tu as une table Janvier et une table Février dans ta base, colle le SQL suivant dans une requête, ça créera une table avec les sorties

Code:
SELECT Janvier.Matricule, Janvier.Nom, Janvier.Prenom, Janvier.Datnai, Janvier.Année, Janvier.Age, Janvier.Datan1 INTO Sorties
FROM Janvier LEFT JOIN Fevrier ON Janvier.Matricule = Fevrier.Matricule
WHERE (((Fevrier.Matricule) Is Null));

Dans une autre requête pour les entrées :

Code:
SELECT Fevrier.Matricule, Fevrier.Nom, Fevrier.Prenom, Fevrier.Datnai, Fevrier.Année, Fevrier.Age, Fevrier.Datan1 INTO Entrees
FROM Fevrier LEFT JOIN Janvier ON Fevrier.Matricule = Janvier.Matricule
WHERE (((Janvier.Matricule) Is Null));
 

Discussions similaires

Statistiques des forums

Discussions
312 333
Messages
2 087 375
Membres
103 529
dernier inscrit
gonzi