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 :

[A-07] Parcourir un RecordSet


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de AlainL
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 178
    Par défaut [A-07] Parcourir un RecordSet
    Bonjour

    Etant débutant dans l'utilisation des recordsets:

    J'ai d'une part une requète qui me combine des infos de plusieurs tables.

    D'autre part un formulaire me permettant de sélectionner certains critères, et un bouton qui, Sur Clic, devrait me permettre d'aller extraires des infos des enregistrements concernés de ma requête.

    La requête est la source de données du formulaire.

    Je pensais qu'un code simple comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each MonChampUnDuRecordSet In Me.RecordsetClone
        MonChampFormulaire = ChampDeuxDuRecordSet
        Next
    devrait en fait répondre à mon besoin. Et ce n'est de toute évidence pas le cas

    L'objectif: parcourir ce recordset pour y trouver certains champs.

    Je suis sûr que vous serez de bonseil... Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Je ne suis pas certain d'avoir compris le problème.

    Pour afficher des valeurs de champ dans un formulaire, il "suffit" que le formulaire s'appuie sur la bonne source (table ou requête) et que les différents contrôles du formulaire devant afficher les valeurs pointent vers les champs correspondants du recordset.

    Il me semble donc plus judicieux d'adapter la source du formulaire au recordset résultat de la requête, en ayant eu soin, en création de formulaire, de faire pointer les contrôles vers les champs ad hoc de la source...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre confirmé Avatar de AlainL
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 178
    Par défaut
    Merci Pierre, mais cela ne peut - enfin je ne crois pas - fonctionner comme cela.

    Le formulaire a des critères de choix (combinant un total de plus de 30 combinaisons).

    Et son but est de m'extraire les adresses e-mail des personnes répondant à ces critèes (puisque Outlook Express n'est d'après le forum pas pilotable directement) dans une zone de texte vide au début, et de le me les présenter prêtes à copier/coller.

    Ceci me permettrait de faire un simple copier/coller dans la zone de destination des messages dans Outlook Express.

    A moins que tu aies une autre méthode, j'ai éliminé celle de faire des requêtes successives en cascade, souhaitant effectuer la sélection dynamiquement via les champs de sélection de mon formulaire.

    Je pensais donc simplement parcourir le recordset, en piquant ça et là les infos dont j'ai besoin. Mais ce n'est peut-être pas la solution idéale....

    Est-ce plus clair ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Aurais-je mieux compris?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub cmdCreer_Click()
        Dim rs As ADODB.Recordset
        Dim sql As String
     
        sql = "select * from tcontacts where courriel like '%" & txtRecherche & "%'"
        Set rs = CurrentProject.Connection.Execute(sql)
        Do While Not rs.EOF
            txtAdresses = txtAdresses & rs.Fields("courriel") & ";"
            rs.MoveNext
        Loop
    End Sub
    suite à un clic sur le bouton nommé cmdCreer, création d'un recordset spécifique (si j'ai compris, tu sais faire, je n'ai mis que pour l'exemple, à toi d'agrémenter en fonction de tes critères de sélection) puis parcours du recordset et ajout du champ Courriel (à adapter) au contrôle texte txtAdresses (à adapter)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre confirmé Avatar de AlainL
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 178
    Par défaut
    Hé ! C'est nettement plus futé que ce que j'essayais. Vais de ce pas aller essayer cette version.

    Merci.

    Je reviens pour mettre résolu si cela l'est

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Heu... Petite erreur de ma part. Si tu as conservé la syntaxe sql de Access, il faut remplacer % par * dans le texte de la requête
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. Parcourir un recordset
    Par amine.ghazi dans le forum VBA Access
    Réponses: 1
    Dernier message: 28/08/2010, 13h18
  2. [AC-2003] parcourir un recordset
    Par chuspyto dans le forum VBA Access
    Réponses: 11
    Dernier message: 16/09/2009, 17h52
  3. Réponses: 1
    Dernier message: 09/03/2009, 19h26
  4. Parcourir un recordset pour un select-Case
    Par Pascal87 dans le forum VBA Access
    Réponses: 2
    Dernier message: 09/09/2007, 21h16
  5. Réponses: 3
    Dernier message: 29/03/2006, 13h21

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