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

IHM Discussion :

probleme pour arreter une boucle


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 45
    Points : 33
    Points
    33
    Par défaut probleme pour arreter une boucle
    Bonjour
    je souhaite pouvoir modifier un champ de toutes les lignes d'un formulaire.
    voici mon code qui bug en fin de parcoure .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     DoCmd.GoToRecord acDataForm, "salarié1", acFirst
     
     Do
           Forms![salarié1]![Texte29] = Forms![salarié1]![Texte53]
     
    DoCmd.GoToRecord acDataForm, "salarié1", acNext
     
    Loop
    je suppose qu 'il me manque une subtilité pour lui demander d'arrêter à la dernière ligne.

    merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 391
    Points : 19 816
    Points
    19 816
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Je m'interroge sur cette procédure de mise à jour.

    Ne peut-on pas passer par une requête ?

    Quelle en est l'utilité ?

    Il faut aussi ajouter un test pour sortir de la boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    DoCmd.GoToRecord acDataForm, "salarié1", acFirst
     
    Do
     
    Forms![salarié1]![Texte29] = Forms![salarié1]![Texte53]
     
    DoCmd.GoToRecord acDataForm, "salarié1", acNext
     
       if nz(Forms![salarié1]![Texte53],"")="" Then
          exit do
      end if 
     
    Loop
    Personnellement, je préfère utiliser la propriété recordsetclone du formulaire :

    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
     
     
    with Forms!Salarié1.recordsetclone
     
    .MoveLast
    .MoveFirst
     
    Do While Not(.eof)
     
    .Edit
    .Champ2 = .Champ1 
     .Update
     
    .MoveNext
     
    Loop
     
    end with
    Cdlt,

  3. #3
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 108
    Points : 5 231
    Points
    5 231
    Par défaut
    Bonjour,

    Un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while not Me.Recordset.EOF
    ...
    wend
    NB : avec recordsetclone ça évite de perturber l'affichage

    Edit: ah ben j'ai été coiffé sur le poteau

Discussions similaires

  1. [Python 2.X] Probleme pour coder une boucle pour plan d`experiences
    Par Reezix dans le forum Calcul scientifique
    Réponses: 2
    Dernier message: 03/10/2016, 15h09
  2. [XL-2007] probleme pour faire une Boucle
    Par chris09300 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/03/2011, 22h11
  3. programmer un bouton pour arreter une boucle
    Par yassine.khe dans le forum Débuter
    Réponses: 2
    Dernier message: 25/05/2009, 10h59
  4. Instruction pour arreter une boucle infinie
    Par pitizone dans le forum MATLAB
    Réponses: 2
    Dernier message: 22/03/2007, 14h42
  5. Réponses: 2
    Dernier message: 08/08/2003, 17h30

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