Import texte / access

elbrahimo Messages postés 25 Date d'inscription jeudi 25 décembre 2003 Statut Membre Dernière intervention 25 novembre 2004 - 18 nov. 2004 à 20:42
Maki93 Messages postés 11 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 12 janvier 2005 - 11 janv. 2005 à 11:28
Salut à tous,

il est possible depuis vb d'importer un fichier texte vers excel ... est ce possible d'importer de la même façon un fichier texte vers une base de donnée ? si oui comment ? merci

a+

5 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
18 nov. 2004 à 21:23
Pour faire cela il faut altérer la base ou le fichier excel en y ajoutant manuellement les données en disant om les placer, etc... pour le fichier excel, pour ce qui est de l'importer dans une base il faut soit créer une table adaptée à ton fichier ou soit il faut que tu y ajoute dans une table éxistante en disant dans quoi mettre chaque données, une par une.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
18 nov. 2004 à 22:29
Salut, bien sûr que c'est possible, mais tout dépend de ton fichier texte.
Les champs sont de longueur fixe ?
Délimités ?

Donne moi un exemple de ton txt et je donne un code qui le fera.
En attendant, si ton txt ressemble à ça :

toto;tyty;tutu
truc;bidule;chouette

essaie ce code :

Private Sub Command1_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 = "c:\temp\essai.txt"
  Nom_Base_Access = "c:\temp\bd1.mdb"
  Nom_Table = "Table1"
  
  ' 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
    
End Sub


@+

Cordialement, CanisLupus
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
18 nov. 2004 à 22:30
Bien sûr, il faut cocher Microsoft Access ... dans les références.

Cordialement, CanisLupus
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
18 nov. 2004 à 22:58
A la réflexion, mon exemple n'est valable que pour les fichiers texte délimités. Et tu peux écrire :

obj_Access.DoCmd.TransferText acImportDelim, , Nom_Table, Nom_Fichier, False

à la place de :

obj_Access.DoCmd.TransferText acImportDelim, ";", Nom_Table, Nom_Fichier, False

Pour les fichiers à champs fixes c'est une autre histoire

Cordialement, CanisLupus
0

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

Posez votre question
Maki93 Messages postés 11 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 12 janvier 2005
11 janv. 2005 à 11:28
Ba moi justement jaimerai bien connaitre cette histoire!!! SVP J'ai besoin d'aide je galère vraiment là. Comment ça marche avec des fichiers à champs fixes??

Maki
0
Rejoignez-nous