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

VBA Access Discussion :

mise à jour de champ à chaque rupture d'enregistrement [AC-2002]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Par défaut mise à jour de champ à chaque rupture d'enregistrement
    bonjour,

    débutant en VB sous access, je cherche à effectuer la mise à jour suivante pour chacun de mes enregistrements de ma table.

    Voici l'exemple joint
    Nom : VB_Access.JPG
Affichages : 71
Taille : 16,3 Ko

    A chaque rupture d'une nouvelle valeur, il faut remplir les enregistrements vides par la valeur de la rupture.

    Comment dois je procéder ?
    Merci pour votre retour

  2. #2
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Bonjour et bienvenu sur le forum.


    Tu peux notamment t'en sortir en VBA en faisant en parcourant ta table au moyen d'un recordset.

    QQ chose du genre (code saisi dans ce message ... non testé)

    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
    Dim oDb As Database
    Dim orst as DAO.Recordset
    DIm sCurValue as string
     
    Set oDB = Currentdb
    Set oRst = oDB.OpenRecordset("SELECT Champ3 FROM MaTable ORDER BY ...")
    While not orst.EOF
       if Nz(orst!Champ3,"") = ""  then
            orst.edit
            orst!Champ3 =sCurValue
            orst.Update
       else
          sCurValue = orst!Champ3
       endif
       orst.Movenext
    Wend
     
    orst.Close: set orst = nothing
    Set oDB=nothing

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Par défaut
    Merci pour la réponse.
    Je vais essayer de faire fonctionner le programme

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Par défaut
    j'ai commencé à débugger ma petite fonction dans un module de ma Table access 2002 ( A2939 SRCHFOR ) du type :

    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
    Option Compare Database
    Option Explicit
     
    Function modiJOBMVS()
     
    Dim oDB As DAO.Database
    Dim orst As DAO.Recordset
    Dim sCurValue As String
     
    Set oDB = CurrentDb()
    Set orst = oDB.OpenRecordset("SELECT Champ3 FROM A2939 SRCHFOR")
    While Not orst.EOF
       If Nz(orst!Champ3, "") = "" Then
            orst.edit
            orst!Champ3 = sCurValue
            orst.Update
       Else
          sCurValue = orst!Champ3
       End If
       orst.MoveNext
    Wend
     
    orst.Close: Set orst = Nothing
    Set oDB = Nothing
     
    End Function
    Mais j'ai toujours l' erreur de compilation : "type défini par l'utilisateur non défini". J'ai commencé à regarder votre aide en ligne mais je n'ai pas encore trouvé où est mon erreur de débutant. Merci par avance pour votre aide

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Par défaut
    J'ai trouvé la réponse dans votre aide. J'avais oublié une coche dans "option/Références". Je continue mon debuggage

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 159
    Par défaut
    Le programme founrni a très bien marché.
    Merci

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 03/03/2009, 11h46
  2. Réponses: 5
    Dernier message: 27/03/2007, 16h55
  3. Mise à jour auto champs date
    Par rodrigue50 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/07/2005, 17h03
  4. mise à jour plusierus champs
    Par bachilbouzouk dans le forum ASP
    Réponses: 12
    Dernier message: 28/04/2005, 11h22
  5. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 10h25

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