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 :

Répétition des données dans ma table access


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 3
    Par défaut Répétition des données dans ma table access
    Slt,
    J'ai un fichier texte dont je vais extraire les données et les organisées dans une table mais quand je fais l'exécution il y a une répétition des données dans ma table mais je ne trouve pas l'erreur.
    merci d'avance.
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    Public Sub ImporterA(strNomFichier As String)
    Dim FSO As New Scripting.FileSystemObject
    Dim oFichier As Scripting.TextStream
    Dim strLigne As String
    Dim strNomChamp As String
    Dim strValeur As String
    Set oFichier = FSO.OpenTextFile(strNomFichier, ForReading)
    Dim oRst As DAO.Recordset
    Dim I As Integer
    'Charge la table en mémoire
    Set oRst = CurrentDb.OpenRecordset("classe A", dbOpenTable)
    'Tant que non fin de fichier
    While Not oFichier.AtEndOfStream
      'lit la ligne
       strLigne = oFichier.ReadLine
       'Si elle n'est pas vide
       If Trim(strLigne) <> "" Then
       'Si c'est une ligne de date
       If InStr(1, strLigne, "/") <> 0 Then
     
     
           If InStr(1, Trim(strLigne), "/") = 1 Then
            datea = Mid(Trim(strLigne), 2, 16)
            d = CDate(Mid(datea, 1, 8))
     
            heure = CInt(Mid(datea, 10, 2))
     
            min = CInt((Mid(datea, 15, 2)))
     
         annee = Day(d)
         If Year(d) < 2000 Then
         jour = Year(d) - 1900
         Else
         jour = Year(d) - 2000
         End If
         Mois = Month(d)
            dc = jour & "-" & Mois & "-" & annee
            d = CDate(dc)
             datea = d
           End If
          If InStr(1, Trim(strLigne), "/") > 1 Then
            datea = Mid(Trim(strLigne), 1, 16)
          End If
     
     
          'Si on est sur un nouvel enregistrement, on le valide
          If oRst.EditMode = dbEditAdd Then oRst.Update
       Else
          'Sinon, si on est pas en mode ajout, on ajoute un nouvel enregistrement
         If Not oRst.EditMode = dbEditAdd Then
            oRst.AddNew
            'Fixe le numéro
            oRst.Fields("NumeroA") = oRst.RecordCount + 1
            oRst.Fields("dateA") = datea
            oRst.Fields("heure") = heure
            oRst.Fields("minute") = min
            End If
          'Récupère la position des :
          I = InStr(1, strLigne, "=", vbTextCompare)
          If I > 0 Then
            'Récupère le nom du champ et la valeur
            strNomChamp = Trim(Mid(strLigne, I - 4, 4))
            strValeur = Trim(Mid(strLigne, I + 1, 10))
            strNomChamp1 = Trim(Mid(strLigne, I + 12, 3))
            strValeur1 = Trim(Mid(strLigne, I + 17, 10))
             strNomChamp2 = Trim(Mid(strLigne, I + 28, 3))
            strValeur2 = Trim(Mid(strLigne, I + 33, 10))
     
           'MsgBox strNomChamp
            '  MsgBox strValeur
            'Remplit la table
            oRst.Fields(strNomChamp).Value = strValeur
            oRst.Fields(strNomChamp1).Value = strValeur1
            oRst.Fields(strNomChamp2).Value = strValeur2
          End If
        End If
        End If
    Wend
    'Ferme tout
    If oRst.EditMode = dbEditAdd Then
     
          oRst.Update
     
    End If
    oFichier.Close
    oRst.Close
    Set oRst = Nothing
    Set oFichier = Nothing
    Set FSO = Nothing
    End Sub

  2. #2
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    Salut

    c'est du vb6 et non du vb.net
    comment est la structure de ton fichier txt ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/01/2010, 16h24
  2. Access/VBA Ajouter des données dans une table !
    Par vto59 dans le forum VBA Access
    Réponses: 10
    Dernier message: 04/06/2009, 15h18
  3. Access: Insérer des données dans une table acces
    Par Malika_AL dans le forum VBA Access
    Réponses: 6
    Dernier message: 27/01/2008, 22h41
  4. extraction des données dans une table Access
    Par moabomotal dans le forum Access
    Réponses: 2
    Dernier message: 26/05/2006, 11h17
  5. Inserer des données dans une table access SQL
    Par ouellet5 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/11/2005, 21h11

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