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 :

Aller d'un recordset à un autre dans un formulaire ouvert en VBA [Toutes versions]


Sujet :

IHM

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 622
    Points : 156
    Points
    156
    Par défaut Aller d'un recordset à un autre dans un formulaire ouvert en VBA
    Bonjour,

    J'ai un formulaire ouvert nommé "MonFormulaire".

    En VBA je souhaite passer en revue tous les recordsets.

    Par contre j'ai un message d'erreur...

    Voici mon code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Option Compare Database
     
    Sub test()
     
        For Each rst In [Form_MonFormulaire].Recordset 'Erreur ici... Opération non autorisée...
     
            MsgBox [Form_MonFormulaire].[Champ1].Value
     
            rst.MoveNext
        Next
     
    End Sub

    Qu'est-ce qui est faux dans mon code ?
    J'aimerais bien utiliser la syntaxe "for each" si possible.

    Merci
    A+
    Dams'

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 359
    Points : 23 829
    Points
    23 829
    Par défaut
    Il ne faut jamais oublié que VBA est un language de programmation procéduriel avec des objets, pas un language objet pur et dur comme Java.

    Le code ci-dessous n'a pas été testé mais devrait fonctionné.
    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
     
    private sub Test()
     
    'Note : il faut que le formulaire soit ouvert pour que ce code marche.
    dim r as dao.recordset:set r=[forms]![MonFormulaire].Recordset
    dim f as dao.field
    do while not r.eof()
     
      'Cette boucle affiche tous les champs du recorset
      for each f in r.fields
          debug.print f.name, f.value
      next f
     
      'Si on garde ton code qui n'affiche que le 1er champ
      msgbox r![Champ1]
     
      r.movenext
    loop
    set r=nothing
     
    end sub

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/12/2012, 16h27
  2. Réponses: 4
    Dernier message: 15/06/2009, 15h06
  3. [MySQL] Faire varier une liste en fonction d'une autre dans un formulaire
    Par lemirandais dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/01/2009, 22h45
  4. Réponses: 1
    Dernier message: 29/11/2008, 10h56
  5. Findrecord sur un champ parmi d'autres dans un formulaire
    Par takumix dans le forum VBA Access
    Réponses: 4
    Dernier message: 27/01/2008, 00h09

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