{Access} importation/exportation

Résolu/Fermé
Iruka72 Messages postés 255 Date d'inscription mardi 16 février 2010 Statut Membre Dernière intervention 5 juin 2014 - 15 mars 2010 à 10:44
Iruka72 Messages postés 255 Date d'inscription mardi 16 février 2010 Statut Membre Dernière intervention 5 juin 2014 - 22 mars 2010 à 15:43
Bonjour,
j'ai un petit soucis, je cherche le moyen d'importer ou d'exporter des informations venant/allant d'/vers access, d'excell,..., vers/d'access, d'excell,.... Plus clairement, j'ai ma base de donnée sous access, il se peut que je récupère des informations venant d'autres base de données access, ou d'excell, ..., ou que je sois obligé d'exporter vers un programme du nom de gazelle fait sous access.

Je ne demande pas le moyen de le faire, il y a pas mal d'explication sur le net. Mon problème est le suivant, sur tout les tutoriels que j'ai pu trouver, c'étaient de l'importation d'information d'une table(ou autre) vers une seule autre. Ma base de donnée est séparée en deux tables pour le moment, mais elle va grandir, comment pourrais faire pour que les informations que je veux importée reste liée et soit placée dans la bonne table. En d'autre terme que je n'importe pas un stagiaire avec juste son nom, prénom, mais également toute les informations personnelle stockée dans l'autre table, et que les informations restent liées.


Je sais que si je fais une seule table, que j'importe le tout dans cette unique table et que j'utilise la fonction d'analyse de table, je pourrais par cette méthode refaire mes deux tables avec les informations qui seront restées liées, c'est bien mais ca ne m'aide pas grandement au vu que je ne serais plus en stage au moment ou l'insertion des données se fera et que je ne peux pas leur laisser faire cette partie la car ils n'y connaissent pas grand chose en informatique en général et c'est pas mieux au niveau d'access.

J'aimerais donc savoir si il y a un moyen d'importer en gardant les informations ensemble malgré la séparation en deux tables (ou plus) ou si je dois absolument n'avoir qu'une seule table et après l'apport des informations, la splitter en deux/plus.

J'espère avoir été clair, je vous remercie d'avance pour l'aide que vous pourriez m'apporter.

4 réponses

Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
16 mars 2010 à 09:40
Bonjour Iruka72,

La solution que je propose à failp ne serait-elle pas une solution adaptée à votre cas ?

https://forums.commentcamarche.net/forum/affich-17018660-access-import-export-automatique-excel


Cordialement
0
Iruka72 Messages postés 255 Date d'inscription mardi 16 février 2010 Statut Membre Dernière intervention 5 juin 2014 22
Modifié par Iruka72 le 22/03/2010 à 12:25
Désolé de ne pas avoir répondu plus tôt, je suis tombé malade et vraiment pas capable de travailler correctement sur ca, enfin bref j'ai regardé ta solution, si j'ai bien compris ce qu'elle fait elle fait l'import de tout vers une seule base, je l'ai testé ca a l'air de fonctionner.

En modifiant ton code de façon à appeler deux fois dans deux fonction sensiblement différents(je modifie le lieu de recherche) de façon à introduire le numéro de la clé primaire et de la clé étrangère, dans les champs qu'ils importent je peux faire en sorte d'importer respectivement deux fichiers excel différents vers mes deux tables et ainsi garder le lien entre les enregistrements, sans pour autant devoir passer par une solution de requète ajout/mise à jour, ou du chippotage en vba pour gèrer l'importation champ après champ.

Je te remercie infiniment, ca va grandement me simplifier la vie, et me retirer pas mal d'heure que je pourrais consacrer à d'autres parties que je trouve plus intéressante à concevoir.
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
22 mars 2010 à 13:25
Bonjour Iruka72?

Merci pour ce retour d'information. Si ce n'est abuser, je jetterais volontiers
un coup d'oeil sur ce qui est devenu votre solution.
Autrement dit : Un copier-coller de ladite solution m'intéresse ...

Merci d'avance
Cordialement
0
Iruka72 Messages postés 255 Date d'inscription mardi 16 février 2010 Statut Membre Dernière intervention 5 juin 2014 22
22 mars 2010 à 15:43
modifier est un grand mot, j'ai juste repris le code, avec les modifications(c'est surtout de ca que je parlais) que tu proposait en dessous du code, et j'ai fait deux fonctions différentes avec juste le fichiers qui changent pour ca que j'ai pas coller de retour, j'en voyais pas l'intérêt, l'insertion automatique du nombre pour clé primaire et secondaire se fait sous excel, pour l'instant manuellement.

Function ImporteExcel()

Dim NomFich As String

NomFich = Dir("C:\*.xls")

Do While NomFich <> ""

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "tabletest", "C:\" & NomFich, True, "A1:I300"

NomFich = Dir
Loop

End Function

Function ImporteExcel2()

Dim NomFich As String

NomFich = Dir("C:\isims\*.xls")

Do While NomFich <> ""

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "table1", "C:\isims\" & NomFich, True, "A1:I300"

NomFich = Dir
Loop

End Function


Pour l'instant, je dois encore faire l'un puis l'autre mais je compte mettre au point sur un simple clic bouton la mise en marche des deux en même temps, c'est pas bien compliqué, mais autre chose a faire pour l'instant.

Encore une fois merci pour la solution.
0