Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > VBA Access

VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.

Réponse
 
Outils de la discussion
Vieux 16/07/2008, 10h13   #1 (permalink)
Invité de passage
 
Date d'inscription: juillet 2008
Messages: 7
Par défaut Spécification d'importation Access

Probleme sous VB 6 j'essai d'importer des fichiers txt dans une base access mais le programme me plante à cause de mes délimiteurs... je sais pa quoi faire !! please help!

Voici mon code (il doit etre blindé de pas mal d'erreurs! )


Code :
Private Sub Txt_Click()
Dim obj_Access As Access.Application
Dim Nom_Base_Access As String
Dim Nom_Fichier As String
Dim Nom_Table As String
 
 
 
Nom_Fichier = "D:\Projets\Retraitements\essai.txt"
Nom_Base_Access = "D:\Projets\Retraitements\retraiteo.mdb"
Nom_Table = "Table1"
 
 
Dim rep, Nom_Tbl As String
'obtient le premier fichier ou répertoire qui est dans "D:\"
rep = Dir("D:\Projets\Retraitements\" & "*.txt", vbDirectory)
'boucle tant que le répertoire n'a pas été entièrement parcouru
On Error GoTo Erreur
Do While (rep <> "")
     'teste si c'est un fichier ou un répertoire
     If (GetAttr(Dossier & rep) And vbDirectory) = vbDirectory Then
         MsgBox "Répertoire " & rep
     Else
         Nom_Tbl = Mid(rep, InStrRev(rep, "\") + 1, Len(rep) - (4 + InStrRev(rep, "\")))
 
 
' Création d'un objet Access
Set obj_Access = New Access.Application
 
' Ouverture de la base Access
obj_Access.OpenCurrentDatabase Nom_Base_Access
 
' Si mot de passe
'SendKeys MotDePasse & "~"
 
' destruction de la table de réception sinon ça ajoute dans la table
On Error Resume Next
obj_Access.Docmd.DeleteObject acTable, Nom_Table
On Error GoTo 0
 
' importation d'un fichier texte délimité par des ';'
obj_Access.Docmd.TransferText acImportDelim, , Nom_Table, Nom_Fichier, False
 
' Fermeture de la base
obj_Access.Quit
 
' Libération de la mémoire
Set obj_Access = Nothing
 
    Docmd.TransferText acImportDelim, "Export Spécification d'importation", Nom_Tbl, Dossier & rep, False, rep & "!"
 
     End If
Suite:
     'passe à l'élément suivant
     rep = Dir
Loop
Exit Sub
Erreur:
     MsgBox "Erreur " & Dossier & rep & " " & Err.Number & " " & _
      Err.Description
     Resume Suite
 
 
 
End Sub
 
 


Merci à tous ceux qui auront pris le temps de lire ma demande!
A très bientot!
yoopzg est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2008, 10h43   #2 (permalink)
Membre éprouvé
 
Date d'inscription: septembre 2007
Localisation: Comtois, rends-toi, Neni ma Foi!!
Âge: 29
Messages: 440
Par défaut

Salut,

Quelle est l'erreur? A quel niveau exactement?
__________________
6ril25



"Par trois méthodes nous pouvons apprendre la sagesse : d'abord, par la réflexion qui est la plus noble; en second lieu, par l'imitation, qui est la plus facile; et troisième, par l'expérience, qui est la plus amère." Confucius
6ril25 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2008, 11h23   #3 (permalink)
Invité de passage
 
Date d'inscription: juillet 2008
Messages: 7
Par défaut

C'est la question étant donné que je n'ai casiment aucune compétence dans le code je commence à peine et voila ce quon ma donné a faire... je suis perdu !
il ne m'importe aucun texte dans ma table je ne sais pas comment différencier tous les délimiteurs...
yoopzg est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2008, 11h40   #4 (permalink)
Membre éprouvé
 
Date d'inscription: septembre 2007
Localisation: Comtois, rends-toi, Neni ma Foi!!
Âge: 29
Messages: 440
Par défaut

dans ton erreur, met:

Code :
 
Erreur:
MsgBox Err.Description
    Resume Exit_Txt_Click
 
et commente ta gestion:

Code :
Erreur:
     MsgBox "Erreur " & Dossier & rep & " " & Err.Number & " " & _
      Err.Description
     Resume Suite
 
__________________
6ril25



"Par trois méthodes nous pouvons apprendre la sagesse : d'abord, par la réflexion qui est la plus noble; en second lieu, par l'imitation, qui est la plus facile; et troisième, par l'expérience, qui est la plus amère." Confucius
6ril25 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS ACCESSF.A.Q AccessF.A.Q VBATutorielsSourcesOutilsLivresAccess TVAccess 2007

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > VBA Access



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide