Bonjour a tous voici mon code pour importer une table dbf dans ma bd access,
j'ai mis une variable nomfichier dans mon DoCmd.TransferDatabase pour pouvoir
récuperer des fichiers qui change de nom à chaque semaine, mais j'ai une
erreur me disant que le moteur de base de recherche n'a pas pu trouver
l'objet d:\... avec le nom complet de l'emplacement du fichier dbf. Pourtant
c'est le bon path qui se retrouve dans ma variable, comment régler ce
problème qui empêche mon importation?
Function import_francois()
Dim NomFichier As String
'NomFichier = Dir("D:\07gps\07-truckbase\francois\")
NomFichier = ChoixDuFichier
If NomFichier = "" Then
MsgBox "Le fichier stat est introuvable !", vbExclamation, "Erreur"
Else
DoCmd.TransferDatabase acImport, "dBase III", "d:\", acTable, NomFichier,
"truck1", False
MsgBox "Importation réussie!"
End If
End Function
Public Function ChoixDuFichier() As String
ChoixDuFichier = OpenFile(CurrentProject.Path)
End Function
Sub zz(NomNouvelleTable As String) Dim SelectedFile As String, PathFile As String SelectedFile = OpenFile("D:") ' Récupération du répertoire stockant le .dbf PathFile = Left(SelectedFile, InStrRev(SelectedFile, "")) ' Pour ne récupérer que le nom du fichier et son extension SelectedFile = Mid(SelectedFile, InStrRev(SelectedFile, "") + 1) ' Pour virer, après la fin du nom du fichier.dbf, ' les espaces et les chr(0). SelectedFile = Trim(Replace(SelectedFile, Chr(0), "")) DoCmd.TransferDatabase acImport, "dBase III", PathFile, acTable, _ SelectedFile, NomNouvelleTable, False End Sub
Que tu appelles par Call zz("Truck") par exemple qui t'importera ton fichier xx.dbf dans la bd courante, en tant que table, sous le nom de Truck.
ca me donne tjrs la meme erreur avec ta modif, désolé, je vais trouvé autre chose, par contre si tu as d'autre idées ou un module déja monter semblable, alors fait moi signe
merci encore
re,
Une idée, la fonction OpenFile() te retourne une chaine de 254 caractères. Si le pb persiste sur '...n'a pas pu trouver l'objet d:... avec le nom complet de l'emplacement du fichier dbf'
Essaies avec NomFichier=Trim(OpenFile(CurrentProject.Path))
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re,
Peut-être avec ceci ;-)
Sub zz(NomNouvelleTable As String)
Dim SelectedFile As String, PathFile As String
SelectedFile = OpenFile("D:")
' Récupération du répertoire stockant le .dbf
PathFile = Left(SelectedFile, InStrRev(SelectedFile, ""))
' Pour ne récupérer que le nom du fichier et son extension
SelectedFile = Mid(SelectedFile, InStrRev(SelectedFile, "") + 1)
' Pour virer, après la fin du nom du fichier.dbf,
' les espaces et les chr(0).
SelectedFile = Trim(Replace(SelectedFile, Chr(0), ""))
DoCmd.TransferDatabase acImport, "dBase III", PathFile, acTable, _
SelectedFile, NomNouvelleTable, False
End Sub
Que tu appelles par Call zz("Truck") par exemple qui t'importera ton
fichier xx.dbf dans la bd courante, en tant que table, sous le nom de Truck.
ca me donne tjrs la meme erreur avec ta modif, désolé, je vais trouvé autre
chose, par contre si tu as d'autre idées ou un module déja monter semblable,
alors fait moi signe
merci encore
re,
Une idée, la fonction OpenFile() te retourne une chaine de 254 caractères.
Si le pb persiste sur '...n'a pas pu trouver
l'objet d:... avec le nom complet de l'emplacement du fichier dbf'
Essaies avec
NomFichier=Trim(OpenFile(CurrentProject.Path))
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Sub zz(NomNouvelleTable As String) Dim SelectedFile As String, PathFile As String SelectedFile = OpenFile("D:") ' Récupération du répertoire stockant le .dbf PathFile = Left(SelectedFile, InStrRev(SelectedFile, "")) ' Pour ne récupérer que le nom du fichier et son extension SelectedFile = Mid(SelectedFile, InStrRev(SelectedFile, "") + 1) ' Pour virer, après la fin du nom du fichier.dbf, ' les espaces et les chr(0). SelectedFile = Trim(Replace(SelectedFile, Chr(0), "")) DoCmd.TransferDatabase acImport, "dBase III", PathFile, acTable, _ SelectedFile, NomNouvelleTable, False End Sub
Que tu appelles par Call zz("Truck") par exemple qui t'importera ton fichier xx.dbf dans la bd courante, en tant que table, sous le nom de Truck.
ca me donne tjrs la meme erreur avec ta modif, désolé, je vais trouvé autre chose, par contre si tu as d'autre idées ou un module déja monter semblable, alors fait moi signe
merci encore
re,
Une idée, la fonction OpenFile() te retourne une chaine de 254 caractères. Si le pb persiste sur '...n'a pas pu trouver l'objet d:... avec le nom complet de l'emplacement du fichier dbf'
Essaies avec NomFichier=Trim(OpenFile(CurrentProject.Path))
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr