Auteur de questions
Importer des fichiers de formats differents dans une table

Question
-
Bonjour,
J'aimerais pouvoir importer au choix des fichiers de format csv ou excel dans une table.
en utilisant un "Dialog Box".
j'essayé d'adapter le code suivant mais evidement il ne fonctionne pas.
Merci de votre aide
Dante
J'utilise la version 2003
Private Sub Command10_Click()
On Error GoTo ErrTrap
Dim filename As String
Dim BD As DAO.Database
Set BD = CurrentDb
Dim tb As DAO.TableDef
MsgBox "Please select your file.", vbInformation, ("My application")
filename = "csv Files (*.csv); *.xls"
If filename = "" Then Exit Sub
DoCmd.SetWarnings False
DoCmd.RunSQL ("DELETE * FROM my_table")
If filename = ”.csv” Then
DoCmd.TransferText acImportDelim, "my_spec Import Specification", "my_table", filename, -1
MsgBox "My Import was done Successful!", vbInformation, ("My Application")
Else
DoCmd.TransferSpreadsheet acImport, 3, "my_table", filename, True, "A1:G12"
MsgBox "My Import was done Successful!", vbInformation, ("My Application")
End If
ExitPoint:
On Error GoTo 0
Exit Sub
ErrTrap:
MsgBox Err.Number & " - " & Err.Description
Resume ExitPoint
End Sub
- Modifié ArgyronetModerator mercredi 4 avril 2012 13:04 Indentation code
Toutes les réponses
-
Bonjour,
Ce code est d'une part incomplet ou il manque en plus un End If que j'ai ajouté...
Je ne comprends pas trop ce à quoi vous voulez aboutir car il y a de grosse confusions.
- Vous effacez une table puis vous importez un fichier qui ne porte pas de nom.
- Vous spécifiez un script d'importation "my_spec Import Specification" ; existe-il ?
- Le bloc de code " If filename = ".csv Then" vérifie que le nom de votre fichier qui n'a été défini nulle part porte le nom ".csv"...
Esayez d'être plus explicite car je ne pourrais vous aider que si vous écrivez ce que vous souhaitez faire...
Argy
-
Bonjour,
Merci de porter attetion a cette requete, au fait ce code etait juste un brouillon afin de donner une image
de ce que je voulait (ca n'a pas marché :-)
Je veux simplement vider une table avant de remettre des nouvelles données a partir d'un fichier csv ou Xls
en utilisant un boite de dialogue... Application.FileDialog(1)
* pour filter et definir le nom , peut etre avec:
.Filters.Add "CSV files", "*.csv".Filters.Add "Excel files", "*.xls"
If .Show Then
filename = .SelectedItems(1)
......
* et quelque chose comment ca pour verifier le fichier
If Right(filename, 3) = "csv" Then
* J'ai déja definie les specification d'importation pour les fichiers csv
J'espere que ceci est un peu plus clair, merci de votre aide
Dante
-
Oui, je m'en suis douté...
Donc qu'attendez-vous du forum en fait, une procédure corrigée ou bien des conseils pour aboutir à vos fins ?
Qu'est qui ne marche pas en fait ? Est votre script d'importation reflète bien l'importation attendue ?
Argy
-