Bonjour,
Je vous sollicite aujourd’hui car j’ai beau cherché sur internet une solution à mon problème, mais malheureusement je ne la trouve pas.
Je possède plusieurs tables csv dans différents répertoire que je souhaite relier à ma base acess, ces tables sont bien dynamique et c’est mon problème (se sont des exports machines avec le nombre de colonne variable c-a-d pour la même table si aujourd’hui j’ai 28 colonnes demain je peux avoir que 25….) donc je ne peux pas fixer mon entête avec la commande : SpecificationName, car mes requêtes ne marcheront pas vu que le nombre de colonne change.
Bien évidemment je ne peux pas importer ces tables sur plusieurs machines manuellement
Voici le code et merci de votre aide :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Sub import()
 
'delete table
 
 
 
Dim dbs As DAO.Database, tdf As DAO.TableDef
Dim tbl As Object
 
Set dbs = CurrentDb()
For Each tbl In dbs.TableDefs
If Len(tbl.Connect) > 0 Then
'table attachée
Debug.Print tbl.Name
dbs.Execute "Drop Table [" & tbl.Name & "]"
 
 
End If
Next
 
Set tdf = Nothing
Set dbs = Nothing
 
'import table
 
DoCmd.TransferText TransferType:=acLinkDelim, SpecificationName:="GenericTabSpecification", TableName:="TABLE1", _
    FileName:="c:\bureau\bac\table1.csv", HasFieldNames:=False
 
DoCmd.TransferText TransferType:=acLinkDelim, SpecificationName:="GenericTabSpecification", TableName:="TABLE2", _
    FileName:="c:\bureau\bac1\table2.csv", HasFieldNames:=False
End Sub