Importer plusieur csv sur access, avec fichier .ini

mmmxtina
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013
- 21 juil. 2009 à 10:30
mmmxtina
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013
- 22 juil. 2009 à 22:14
Bonjour à tous!!!

J'ai besoin d'exporter des fichiers csv sous access.
En fait pour être plus précise, c'est une base de donnée qui pilote une autre base de donnée et qui lui dit d'importer ces fichiers csv.
Donc au début j'utilisait le petit truc généré par l'aie Imortation/exportation de access, mais comme c'est une autre base de données qui exporte els fichier sil faut utilisé un fichier .ini

Petit soucis, j'ai aps trop compris comment ça fonctionne, j'ai regardé sur internet et pour l'instant ça me dit quil ne toruve pas mon fichier .ini (que j'ai bien pris soin de mettre dans le dossier où se trouvent mes fichiers csv à exporter)
voici le code:

Function FichDetailZone(fichierCSV, Intervenant As String)
    Dim MonAccess As New access.Application
    Dim oTbl As DAO.TableDef
    
    MonAccess.OpenCurrentDatabase "C:...\Tables-20_07_2009.mdb"
    MonAccess.DoCmd.TransferText acImportDelim, "Schema.ini", "DetailZG_" & Intervenant, cheminCSV & fichierCSV, True    MonAccess.Quit acQuitSaveNone
    Set MonAccess = Nothing

    Set oTbl = CurrentDb.CreateTableDef("DetailZG_" & Intervenant)
    oTbl.Connect = "MS Access;DATABASE=" & "C:\...\Tables-20_07_2009.mdb"
    oTbl.SourceTableName = "DetailZG_" & Intervenant
    CurrentDb.TableDefs.Append oTbl

End Function


mon fichier .ini, qui s'appelle Schema.ini:

[*.csv]
ColNameHeader=True
CharacterSet=ANSI
Format=FixedLength
Col1=Type d'intervenant Char Width 50
Col2=Identifiant Mercure de l'intervenant Integer
Col3=Identifiant Mercure du Domaine Char Width 50
Col4=Identifiant Mercure de la Compétence Char Width 50
Col5=Identifiant Mercure de la Spécialité élémentaire Char Width 50
Col6=Marque Char Width 50
Col7="Date début convention" Date
Col8="Date fin convention" Date
Col9=Indicateur Spécialité principale Char Width 50
Col10="Date début convention zone géographique" Date
Col11="Date fin convention zone géographique" Date
Col12=Code Insee Commune Char Width 50
Col13=Code postal Char Width 50
Col14=Code pays Char Width 50
Col15=Seuil de mission (min) Char Width 50
Col16=Seuil de mission (max) Char Width 50
Col17=Indicateur Passage Lundi Char Width 50
Col18=Indicateur Passage Mardi Char Width 50
Col19=Indicateur Passage Mercredi Char Width 50
Col20=Indicateur Passage Jeudi Char Width 50
Col21=Indicateur Passage Vendredi Char Width 50
Col22=Indicateur Passage Samdi Char Width 50
Col23=Indicateur Passage Dimanche Char Width 50


ce fichier d'importation est utilisé sur tous els fichiers csv du répetoir c'est pour ça que j'ai mis *.csv au début!

HELP!!
merci beaucoup!

5 réponses

hellangel777
Messages postés
267
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 novembre 2013
1
21 juil. 2009 à 11:13
Bonjour,

Ton appel de ton fichier ini est assez particulier.
Tu le gère via des fonctions API???
sinon regarde ici : http://www.vbfrance.com/tutoriaux/PRESENTATION-UTILISATION-FICHIERS-INI_939.aspx
Bon courage

HellAngel777
Les machines ne font pas d'erreurs
Heureusement nous sommes humains
0
mmmxtina
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

21 juil. 2009 à 13:40
bonjour HellAngel777 , merci de ta réponse.

Bah cet appel je l'ai vu sur msdn. c'est pour ça que je l'ai utilisé comme ça.
je vais gvoir si je retrouve la page comme çq je te montrerai j'ai peut etre mal compris...
0
xpert12
Messages postés
114
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
10 septembre 2010

22 juil. 2009 à 10:20
Salut,

ligne 5 de ta fonction essaye : "App.path & "\schema.ini" au lieu de "schema.ini" et tu n'auras qu'à mettre ce fichier dans le même répertoire que ton application.

@+
0
xpert12
Messages postés
114
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
10 septembre 2010

22 juil. 2009 à 10:24
Re

ton nom de clé [*.csv] est pas terrible. Je sais pas si ça va buggé ou pas mais ce n'est pas ton fichier .ini qui détermine que tous les fichiers .CSV vont l'utiliser mais plutôt ton application qui va imposer à ce que tous tes .CSV utilise ton .INI

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mmmxtina
Messages postés
67
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 avril 2013

22 juil. 2009 à 22:14
Bonsoir xpert12 et merci pour tes réponses!
Finalement jai réussi avec beaucouo
de difficultés à résoudre mon pb!!

Pour ceux que ça interresse:

jai laissé tombé schema.ini et en fait jai juste copier les tables systemes qui contiennent les parametres d'impottations
(ces tables sont cachées, mais on peut demander a access de les affichées) dans la 2 e base de données celle dans laquelle jimporte les fichiers csv.
Le truc czst qune fois quon a copié les tables avant de pouvoir importer les csv, il faut ferme la base de donnees (histoire quelle enregistre tout ca) et quand on reouvre cest bon ca roule!!

Le code:
DoCmd.CopyObject nameTable, , acTable, "MSysIMEXSpecs"
DoCmd.CopyObject nameTable, , acTable, "MSysIMEXColumns"
DoCmd.CopyObject nameTable, , acTable, "MSysAccessXML"

du coup je peux utilisé Ipportation_csv qui etait les parametres dimportation
que javai definis et enregistré avec laide
dimportation daccess. Je met ça. La plave de schema.ini!

Voila merci bcp a ceux qui mon repondu!
0