Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1364 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Une sorte de comparaison d'un fichier excel et une table access.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Une sorte de comparaison d'un fichier excel et une table access.

n°1842003
benji35
Posté le 23-01-2009 à 13:52:20  profilanswer
 

Bonjour tout le monde,
J'ai un souci, je veux écrire un programme en vba qui trouve les lignes existant dans un fichier excel et pas dans une table access, et m'envoient ces lignes dans une autre table access.
 
J'ai vu la méthode find d'ADO mais je ne sais vraiment comment faire.
 
Help please.

mood
Publicité
Posté le 23-01-2009 à 13:52:20  profilanswer
 

n°1842012
Ptit loup
Quand c'est flou, y'a un loup
Posté le 23-01-2009 à 14:22:14  profilanswer
 

Le plus simple est encore d'importer sous Access ton fichier Excel, et ensuite de faire une requête de non existence sous Access... tu ne travailles alors qu'avec des tables d'une base de données, et c'est bcp plus simple.

n°1842028
benji35
Posté le 23-01-2009 à 14:46:33  profilanswer
 

Merci Ptit loup pour ta reponse, c'est une bonne idée mais pas très élegante pour mon cas et au fait j'ai oublié de mentionner que j'avais déja écrit un code en vba qui me permet de renvoyer les lignes d'un fichier excel vers une table access ( donc ce code permet d'ajouter les lignes du fichiers excel aux lignes déja existants dans ma table ( même format )), ce code je l'ai ecrit dans le cadre d'un autre projet donc si j'arrive à savoir comment identifier les lignes qui n'existent pas dans mon autre base access le tour sera joué.
 
C'est une sorte de comparaison entre un fichier excel et une table access mais je ne sais pas comment proceder.

n°1842046
aspirateur
Posté le 23-01-2009 à 15:04:07  profilanswer
 

benji35 a écrit :

Merci Ptit loup pour ta reponse, c'est une bonne idée mais pas très élegante pour mon cas et au fait j'ai oublié de mentionner que j'avais déja écrit un code en vba qui me permet de renvoyer les lignes d'un fichier excel vers une table access ( donc ce code permet d'ajouter les lignes du fichiers excel aux lignes déja existants dans ma table ( même format )), ce code je l'ai ecrit dans le cadre d'un autre projet donc si j'arrive à savoir comment identifier les lignes qui n'existent pas dans mon autre base access le tour sera joué.
 
C'est une sorte de comparaison entre un fichier excel et une table access mais je ne sais pas comment proceder.


 
 
Bonjour,
 
Je comprend pas exactement la partie en gras mais voici ce que je ferai
 
Au lieu d'importer la table fais simplement une liaison. Ainsi tu crée une table identique à ton fichier Excel et mis à jour dynamiquement.
 
Il ne te reste plus que la requete à faire après.

n°1842095
benji35
Posté le 23-01-2009 à 15:46:07  profilanswer
 

D'abord je vous remercie pour vos reponses rapides, mais finalement je vais procéder autrement, sauf que j'ai un souci qui est de savoir comment reperer des "presque doublons" ( doublons à un champs près ) dans une tables access.
 
Encore une fios merci.

n°1842099
aspirateur
Posté le 23-01-2009 à 15:50:03  profilanswer
 

La notion de "presque doublon" n'est pas gérée dans Access  :o  
 
Non sérieux, explique... on peut peut etre aider

n°1842110
benji35
Posté le 23-01-2009 à 15:52:05  profilanswer
 

En fait je peux pas utilisé la clé pour comparer ( mes doublons peuvent identifiés que par comparaison via 3 champs ) et c'est la que ça coince, j'ai pensé à ajouté un autre champ ou je concatène ces 3 champs puis l'utiliser comme clé mais si vous avez une autre solution je suis preneur.

n°1842127
aspirateur
Posté le 23-01-2009 à 15:58:45  profilanswer
 

En gros tu veux si tu as une table comme ca:
 
  id      Colonne1      Colonne2      Colonne3
  1       AA                  FF                  TT
  2       AA                  FF                  TT
 
tu veux supprimer une des deux lignes c'est ca?

n°1842136
benji35
Posté le 23-01-2009 à 16:04:09  profilanswer
 

Oui voila mais pas la supprimer l'envoyer dans une nouvelle table ( pour archivage ) puis suppimer les deux lignes dans ma table "principale" ( qui correspond à ta table ).
 
PS : désolé si je m'exprime mal.

n°1842140
benji35
Posté le 23-01-2009 à 16:09:44  profilanswer
 

Tenez pas compte de mon dernier message, je me suis gourré dans la façon dont je veux réaliser la chose.
 
Je vais reflechir à une autre façon et si j'ai besoin je me permettrais de revenir vers vous.
 
UN GRAND MERCI.

mood
Publicité
Posté le 23-01-2009 à 16:09:44  profilanswer
 

n°1842148
aspirateur
Posté le 23-01-2009 à 16:15:59  profilanswer
 

Pas de soucis  ;)

 

Je suis pas un expert en Access mais voila comment je m'y prendrais

 

Je ferai d'abord une requête pour afficher les doublons:  ( Je marque en SQL il te suffit de le copier et faire les modifs dans access)

 

SELECT test.champ1, test.champ2, test.champ3, Count(test.champ1) AS CompteDechamp1
FROM test
GROUP BY test.champ1, test.champ2, test.champ3
HAVING (((Count(test.champ1))>1));

 


Ensuite je ferai une deuxième requete pour afficher les id:

 

SELECT test.id, test.champ1, test.champ2, test.champ3
FROM test1 INNER JOIN test ON (test1.champ3 = test.champ3) AND (test1.champ2 = test.champ2) AND (test1.champ1 = test.champ1);

 

La tu as la liste des doublons avec leurs ID

 

Il te reste plus qu'a les traiter.

 

En espérant t'avoir aidé


Message édité par aspirateur le 23-01-2009 à 16:16:17
n°1842175
benji35
Posté le 23-01-2009 à 16:49:51  profilanswer
 

En tout cas merci beaucoup.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Une sorte de comparaison d'un fichier excel et une table access.

 

Sujets relatifs
pb date access[Access] Fonction "SOMME" dans un etat qui ne fonctionne pas
[VB.NET] Connexion BDD Access ne se ferme pas apres vérificationsdelete fichier csv
Lire et modifier des éléments d'un fichier texteRécupérer soit un champ dans une table soit un champ dans une autre
Probleme avec mon fichier batchNumerotation devant un fichier.
Ouverture d'un fichier dans une application swingselection entre deux textes (dans word a partir d'excel)
Plus de sujets relatifs à : Une sorte de comparaison d'un fichier excel et une table access.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR