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

Access Discussion :

Access mise a jour a partire des fichier Ascii


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Juin 2006
    Messages : 13
    Points : 12
    Points
    12
    Par défaut Access mise a jour a partire des fichier Ascii
    Bonjour,

    J'ai besoin de votre aide afin de réaliser un travail, il s'agit une base de données pluviométrique.
    je recois chaque mois des fichiers du type Ascii : RTNX0501.R01(05 c'est l'année 2005, 01 c'est le mois, R01 c'est le code de la région)

    ma question comment puis-je faire la mise à jour dans une base de données Access à partir de ces fichiers Ascii.
    les séparateurs des champs sont les vergules
    1er champ : code (sans importance)
    2eme champ : code de la station
    3eme champ : code parametre (005 c'est la pluviométrie)
    4eme cham : Année et mois
    5eme champ a 35 : quantité de pluie journaliers


    les champs de la base Access sont :
    code de la station, date, quantité de pluie dans la table data
    code de la station, nom de la station, coordonnées géographiques, dans la table stations

    salutations et merci de votre contributions
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    En parlant de pluie, ça n'arrête pas depuis de matin

    Je suis parti du principe que tu voulais tes données en lignes (1 Jour = 1 Ligne).
    J'ai créé une table tblPluvio ayant les champs suivants:
    codeStation (Texte)
    Date (Date/Time)
    QtePluie (Numérique - Réel double)
    .. et une procédure pour lire le fichier et ranger les données dans la table.
    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
    Sub ImportPluvio()
    Dim fileName As String, strLigne As String
    Dim Cols() As String
    Dim codeStation, CodeParam, codeAAAAmm, QtePluie As Double
    Dim intAn As Integer, intMois As Integer, intJour As Integer
    Dim Dt As Date, Dt1 As Date, Dt2 As Date, DtOffset As Integer
    Dim db As DAO.Database, r As DAO.Recordset
    
    fileName = "E:\RTNX0501_R01.txt"
    
    Open fileName For Input As #1
    
    Set db = CurrentDb
    Set r = db.OpenRecordset("tblPluvio")
    
    Do While Not EOF(1)
       Line Input #1, strLigne
          Cols() = Split(strLigne, ",")   ' Transformer la ligne en tableau
          codeStation = Cols(1)
          CodeParam = Cols(2)
          codeAAAAmm = Cols(4): intAn = Mid(codeAAAAmm, 1, 4): intMois = Mid(codeAAAAmm, 6, 2)
          Dt1 = DateSerial(intAn, intMois, 1)  ' 1er date du mois
          Dt2 = DateAdd("m", 1, Dt1) - 1       ' Dernière date du mois
          
          ' Ne traiter que les mesures pluviométriques
          If CodeParam = "005" Then
             For Dt = Dt1 To Dt2
                 DtOffset = (Dt - Dt1)
                 QtePluie = Val(Cols(DtOffset * 2 + 5))
                
                 r.AddNew
                   r![codeStation] = codeStation
                   r![Date] = Dt
                   r![QtePluie] = QtePluie
                 r.Update
             Next
          End If
    Loop
    
    Close #1
    db.Close
    
    End Sub
    Ca devrait pouvoir te servir d'exemple.

    A+

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/06/2006, 13h25
  2. Mise à jour de la base Access a partir des fichiers Ascii
    Par mehdichess74 dans le forum Access
    Réponses: 3
    Dernier message: 21/06/2006, 18h00
  3. [Access] Mise à jour de table depuis une autre
    Par Marcant dans le forum Langage SQL
    Réponses: 4
    Dernier message: 03/06/2006, 16h53
  4. [Plugin][Eclipse3] mise a jour de header sur fichier .java
    Par spegase dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 05/05/2005, 20h06
  5. [rapidité du code] Mise a jour a partir d'un TQuery.
    Par goethe dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/10/2004, 09h01

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