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 :

Mettre à jour une table access en VBA [AC-2003]


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Mettre à jour une table access en VBA
    Bonjour à tous,

    Dans une table, je possède les enregistrements d'une population donnée. Chaque personne est identifiée par un numéro unique. A intervalle régulier, cette population est mise à jour, identifiée par une date donnée.

    Lors du premier enregistrement, tous les champs de la table sont renseignés.
    Lors de chaque mise à jour, seuls certains champs sont renseignés.

    Une personne apparait donc autant de fois que de mises à jour.

    Je souhaiterais pouvoir complèter chaque champ vide de la mise à jour par les champs renseignés du tout premier enregistrement. Si possible sans requête.

    Ex:

    Table avant traitement :

    Identifiant------Nom---------Date-------------Salaire
    1.....................Joe.........01/01/2011.............(Vide)
    1.....................Joe.........01/12/2010.............40000

    Table après traitement

    Identifiant------Nom---------Date-------------Salaire
    1.....................Joe..........01/01/2011.............40000
    1.....................Joe..........01/12/2010.............40000

    Dans cet exemple, je souhaite remplacer le champ vide du salaire par le salaire (a priori inchangé) de notre ami Joe.

    Je voudrais automatiser cette méthode pour chaque emplacement vide de ma table, j'ai pensé à utiliser la méthode .EDIT mais je ne vois pas comment m'en sortir proprement.

    Je vous remercie d'avance pour votre aide.

    Thomas

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    La nuit porte conseil et j'ai pondu ce bout de 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
    Dim db As Database
    Set db = CurrentDb
     
    Dim mirs As Recordset
    Set mirs = db.OpenRecordset("MaPopulation")
     
    Dim MaVariableTampon As String
    Dim i As Integer
     
    mirs.Index = "MonIdentifiant"
    For i = 1 To mirs.RecordCount
        If i = 1 Then mirs.MoveFirst Else mirs.MoveNext
            If IsNull(mirs![MaVariable]) = True Or mirs![MaVariable] = "" Then
                mirs.MovePrevious
                MaVariableTampon = mirs![MaVariable]
                mirs.MoveNext
                mirs.Edit
                mirs![MaVariable] = MaVariableTampon
                mirs.Update
    Next i
     
    End Sub
    En prérequis, on doit savoir quel champ va être vide (ici MaVariable peut l'être) et on remplit le vide par l'enregistrement de la ligne précédente à l'aide d'une variable tampon. Tout repose sur le tri croissant de la date...

    Si qqn a une meilleure idée je suis preneur!

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mettre à jour une table à partir d'une autre Access 2007
    Par marcelstan dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/04/2014, 08h27
  2. [Débutant] Mettre à jour une table dans une base de données crée par code.(access)
    Par sidisadmir dans le forum ADO.NET
    Réponses: 1
    Dernier message: 31/08/2013, 09h54
  3. [AC-2000] Mettre à jour une table à partir d'une Requête Access.
    Par shakapouet dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/08/2012, 12h01
  4. Réponses: 5
    Dernier message: 10/01/2008, 09h24
  5. [Access][Formulaire] Mettre à jour une table tierce
    Par Longrais dans le forum Access
    Réponses: 7
    Dernier message: 21/10/2007, 19h42

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