IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

extraire les données d'un fichier text vers une table access


Sujet :

VB 6 et antérieur

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Points : 4
    Points
    4
    Par défaut extraire les données d'un fichier text vers une table access
    bonjour tout le monde
    j'ai trouvé dans un forum un code vb 6.0 et j'ai essayé d'adapter à mon application mais reçois cette ereur: ERREUR d'exécution 3421 Erreur de conversion de type de données.
    SVP aidez-moi, je suis nouveau au forum et ce que j'ai a faire me préocupe.
    le fichier text contient des caractères séparés par des virgules e figurant entre quote.
    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    Public Sub importer()
    Dim db As DAO.Database
    Dim rc As DAO.Recordset
    Dim Fice As String ' Chemin et Fichier .txt à traiter
    Dim LignE As String
    Dim TableW() As String
    Dim i As Long
    Dim Ltitre As String ' Ligne description des rubriques
    Dim NomTxt As String
    Dim NomBd As String
     
    'NomTxt = Form1.File1.FileName ' Nom du fichier .txt
    NomBd = "C:\bdCRISK2.mdb" ' Nom base de donnée
    Set db = DAO.Workspaces(0).OpenDatabase(NomBd) ' Ouverture base
    'Fice = App.Path + "\" + NomTxt
    'MsgBox ("Base ouverte"), vbInformation, "felicitation"
    Fice = "C:\Documents and Settings\testuser\Desktop\Nouveau dossier\eta.txt"
    Open Fice For Input As #1
    Set rc = db.OpenRecordset("client", dbOpenTable) ' Ouverture de la table
     
    Do While Not EOF(1)
    Line Input #1, LignE
    TableW() = Split(LignE, ";")
    rc.AddNew
     
    For i = 0 To UBound(TableW)
    rc.Fields(i).Value = TableW(i) ' Création d'une ligne
    Next i
     
    rc.Update
    Loop
     
    MsgBox "Remplissage de la base terminée"
     
    Close #1
    rc.Close
    Set rc = Nothing
    db.Close
     
    End Sub

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Bonjour,

    peux tu préciser sur quelle ligne exactement tu as l'erreur ?
    En tout cas tu dis que ton fichier texte est fait de champs séparés par des virgules et ton Split se fait sur des ";" tu devrais commencer par corriger ça.

    J'ai jaouté les balises CODE dans ton message (c'est le bouton # situé au dessus de la zone d'édition de ton message), merci d'y penser pour les prochains messages.
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Tu as dimenssionné la variable tabvleau comme etant des strings
    Si dans ta table, il y a des champs nuùériques, ca va pas aller bien
    Dans ce cas, mieux vaut profiter du type variant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim TableW() As Variant
    et laisser faire vb
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/08/2010, 21h48
  2. Réponses: 1
    Dernier message: 17/03/2009, 16h33
  3. [MySQL] Problème pour insérer les données d'un fichier texte vers une table Mysql !
    Par BARRIAU76 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/01/2008, 23h24
  4. Réponses: 2
    Dernier message: 19/10/2007, 20h29
  5. Pour extraire les données d'un fichier texte
    Par Floch dans le forum Access
    Réponses: 2
    Dernier message: 02/05/2006, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo