Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1401 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  .txt --> VB --> BD acces (une bd acces a partir d'un .txt)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

.txt --> VB --> BD acces (une bd acces a partir d'un .txt)

n°701659
naeh
Posté le 17-04-2004 à 13:51:44  profilanswer
 

Bonjour tout le monde :)
 
je dois creer une application qui a partir d'un fichier text me cree une base de données sous acces (en fait c'est une table que je cree, et dans le fichier  .txt les colonnes sont bien definies avec une tab comme separateur). apres avoir creer ma table mon app doit me permettre de faire plein d'operation sur les données, les classeiques quoi (maj, add, del etc.).
 
le probleme c'est que je n'arrive pas a creer la table a partir de mon .txt, en plus ma table doit etre alimentée regulierement par des .txt c'est a dire que les données je les recois en format .txt et c'est l'app qui le fait passer dans la table acces.
 
 
donc est-ce que quelqu'un saurait qu'est ce qu'il faut faire vraiment pour que la table soit bien créée a partir de ce fichier .txt, et comment fair pour lui dire apres de rajouter les données a la table ?
 
 
merci a tous.


Message édité par naeh le 17-04-2004 à 13:52:19
mood
Publicité
Posté le 17-04-2004 à 13:51:44  profilanswer
 

n°702165
Profil sup​primé
Posté le 18-04-2004 à 14:20:49  answer
 

Utilise ADO (ocx Microsoft ActiveX Data Object)
 
Oublie pas d'installer le dernier service pack (6 je pense) parce que d'origine, ADODC fout parfois le boxon quand tu fais des packages  ;)  
 

n°702167
naeh
Posté le 18-04-2004 à 14:23:01  profilanswer
 

mais comment je fais ca ?
 
en fait ce que je cherche c'est comment lui dire de ccreer la table a partir du fichier text en programmation, parce que l'application devrait le faire pusieurs fois apres !

n°702649
pumpkin031​2
Posté le 19-04-2004 à 11:48:32  profilanswer
 

Il va falloire creer la table à la main, et ensuite son alimentation se fera de façon automatique, à chaque nouveau fichier.
dans l'ordre, il faut :
-

  • d'abord importer ton 1er fichier sous access (Manip décrite ci-dessous : dans le point 6 : choisis création d'une nouvelle table)

-

  • ensuite, creer une "spécification d'import" (= un modèle sur la façon de faire l'import de ce type de fichiers, qu'Access utilisera ensuite pour tous les autres fichiers). Pour celà, il va falloire importer un 2e fichier : reprend la Manip ci-dessous avec cette fois :

       -  dans le point 6 : tu vas l'ajouter a la table que tu viens de créér avec le 1er fichier
        - au point 9 : en bas à droite selectionner "Avancé" : vérifier les noms et formats des champs +  "enregistrer sous" : donner un nom à la spécification d'import.
 
Manip d'import :
 dans l'onglet "table" d'access :  
1 -  faire "Nouveau" : une boite s'ouvre  
2 -  selectionner "importer la table" + Ok.  
3 -  parcourir et selectionner le fichier à importer
4 -  choisir l'onglet (si import d'un fichier excel) et faire suivant  
5 -  cocher si l'on veut que la 1ere ligne contienne les entêtes de colonnes ( + suivant)  
6 -  préciser si l'on crée une nouvelle table ou si l'on veut que tes données s'ajoutent à une table existant (dans ce cas, attention aux formats des champs !) (+suivant)  
7 -  choix du format des champs si import d'un fichier texte (+ suivant)  
8 -  indiquer si l'on veut une clé primaire ou pas (+suivant)  
9 - donner le nom de la table qui sera créée (+ Terminer)
 
 
-

  • enfin voici le code executant l'import automatique des fichiers suivants. (je ne connais pas l'étendu de tes connaissances sous access, fais-moi savoir si tu ne sais pas où coller ce code, ou comment le lancer)

ce code va chercher dans un dossier précis tous les fichiers ".txt", et les importe un par un dans ta table :
 
Function Search()  
Dim i As Integer
Dim j  
Application.FileSearch.LookIn = "C:\Chemin\Dossier\"  
Application.FileSearch.FileName = "*.txt"  
 
    If Application.FileSearch.Execute > 0 Then  
        For i = 1 To Application.FileSearch.FoundFiles.Count  
            j = Importer(Application.FileSearch.FoundFiles(i))  
        Next i          
    Else  
        MsgBox "Aucun fichier n'a été trouvé !"  
    End If  
 
Kill Application.FileSearch.FoundFiles(i) ' cette ligne supprime le fichier, mais tu préfèrera peut-être le déplacer dans un dossier archive...
End Function  
   
 
Public Function Importer(Texte As String)  
DoCmd.TransferText acImportDelim, "Nom_specification_import", "Nom_table_import", Texte, True, ""
End Function

n°704181
naeh
Posté le 20-04-2004 à 18:32:12  profilanswer
 

merci pour les reponses :)
 
c'est bien la manip que j'avais fait, en fait c'est juste mon type de fiormat que je devais creer pour que ca fonctionne correctement.
l'importation de mes fichiers se fait sans aucun probleme sous access seulement je ne sais pas comment on fait pour lancer cette procedure de visual basic (je dis bien VB et pas VBA :)) par programmation.
il y'a bien des methodes comme "run" ou "run macro" mais ces methodes là ne marche qu'avec l'objet docmd et cet objet n'est pas reconnu sous VB
comment faire ?
 
merci bcp :)

n°704785
pumpkin031​2
Posté le 21-04-2004 à 11:43:14  profilanswer
 

j'connais pas bien VB.  
Est-ce que ça marcherait avec un lien hypertexte (ça marche entre 2 bases access)?
        With Commande
            .Hyperlink.Address = "C:\Chemin\BaseAccess.mdb"
            .Hyperlink.SubAddress = "Macro NomMacro"
            .Hyperlink.Follow
        End With

n°707950
naeh
Posté le 25-04-2004 à 12:02:31  profilanswer
 

et un ch'ti UP
 
pour les liens je ne connais pas
 
en gros ce que je veux faire c'est remplir une base acces a partir d'un fichier, je pense que c'est pas si compliuqué que ca hein ???
 
merci :)

n°709181
naeh
Posté le 26-04-2004 à 22:45:54  profilanswer
 

probleme resolu :)
 
j'ai utilisé les objets, fichiers, etc.
 
apres je lisais dans le fichier ligne par ligne et je decoupe la chaine par rapport a mon separateur et j'enregistre dans la table par un recordset :)
 
voila, merci pour vos essais :)


Message édité par naeh le 26-04-2004 à 22:47:19

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  .txt --> VB --> BD acces (une bd acces a partir d'un .txt)

 

Sujets relatifs
Appel de modules en C à partir d'une appli Delphi[lien] PHP + XML en écriture : gestion accès multiples ?
[résolu] PHP + XML en écriture : gestion accès multiples ?[oracle]remplir une table à partir de 2 autres tables
acces rapide aux fichier sous linuxCalcul du SINUS à partir du développement limité sous VB?
[Flash] Insertion dynamique de bitmap à partir de la bibliothèqueHELP ! création d'une mailing list à partir d'un site web ...?
Comment generer un code commande a partir d'un numéro et inversement ?Modifier ou créer une condition sur un report BO à partir d'access
Plus de sujets relatifs à : .txt --> VB --> BD acces (une bd acces a partir d'un .txt)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR