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 :

Comment récupérer plusieurs enregistrements d’un sous formulaire ?


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2011
    Messages : 35
    Points : 6
    Points
    6
    Par défaut Comment récupérer plusieurs enregistrements d’un sous formulaire ?
    Bonjour et Bonne Année

    Comment récupérer plusieurs enregistrements d’un sous formulaire ?Database3.zipNom : Capture Ecran.png
Affichages : 218
Taille : 57,0 Ko

    Table1 : Nom2

    Formulaires
    Form ( Indépendant ) avec deux champs ( Nom1 ; NomRecup )
    SousFormTable1 avec un Champs ( Nom2)

    Y-a-t-il un moyen pour obtenir [NomRecup] = [Nom2 enregistrement1 ; Nom2 enregistrement2 ; Nom2 enregistrement3 etc…..] du SousFormTable1 Actif (comme sur l'ecran )

    J'aime beaucoup les explications pour mieux comprendre

    Merci pour votre Aide

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 285
    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 285
    Points : 19 484
    Points
    19 484
    Billets dans le blog
    64
    Par défaut
    Bonjour,

    Il faudrait mettre à jour la propriété recordsource du sous-formulaire avec une chaîne sql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SousFormTable1.Form.RecordSource = "select Nom2 from Table1 where [Nom2] in (" & liste_noms & ")"
    La liste des noms serait récupérée sur l'événement après-maj de la zone de texte NomRecup.

    J'ai commenté le 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
    Private Sub NomRecup_AfterUpdate()
        Dim liste_noms As String, i As Long ' liste de noms
        Dim tab_noms As Variant ' tableau des noms
     
        tab_noms = Split(nz(Me.NomRecup," "), ";") ' on éclate le texte contenu dans NomRecup, dans un tableau ("banane","orange","mangue")
        liste_noms = Chr(34) & Trim(tab_noms(LBound(tab_noms))) & Chr(34) ' on copie le 1er élément dans la liste liste_noms = "banane"
        For i = LBound(tab_noms) + 1 To UBound(tab_noms) ' on parcourt les éléments suivants du tableau
            liste_noms = liste_noms & "," & Chr(34) & Trim(tab_noms(i)) & Chr(34)
        Next i
        ' à la fin liste_noms = ""banane","orange","mangue""
        ' la chaîne sql passée à la propriété recordsource du sous-formulaire : "select * from table1 where [Nom] in ("banane","orange","mangue")"
        Me.SousFormTable1.Form.RecordSource = "select Nom2 from Table1 where [Nom2] in (" & liste_noms & ")"
     
    End Sub
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2011
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    Bonjour User
    D'abord bonne année malgré ce flou sanitaire !!

    j'ai fait quelques tentatives mais sans succès

    Comment faire pour mettre à jour la propriété recordsource du sous-formulaire avec une chaîne sql Me.SousFormTable1.Form.RecordSource = "select Nom2 from Table1 where [Nom2] in (" & liste_noms & ")"On l'écrit où ?

    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 285
    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 285
    Points : 19 484
    Points
    19 484
    Billets dans le blog
    64
    Par défaut
    Il faut d'abord générer le code de la procédure événementielle Après maj de la zone de texte NomRecup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub NomRecup_AfterUpdate()
     
    End Sub
    Pour cela, il faut cliquer sur [...] à droite sur la ligne Après maj dans la feuille des propriétés :

    Nom : NomRecup.png
Affichages : 184
Taille : 17,9 Ko
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2011
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    J'ai fait tout ça mais sans resultat
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 285
    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 285
    Points : 19 484
    Points
    19 484
    Billets dans le blog
    64
    Par défaut
    Il faut que tu supprime cette ligne au début :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SousFormTable1.Form.RecordSource = "select Nom2 from Table1 where [Nom2] in (" & liste_noms & ")"
    Le code doit être comme je te l'ai indiqué ici.
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2011
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    Oui j'ai remarqué mon erreur néanmoins ça ne fonctionne pas non plus

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 285
    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 285
    Points : 19 484
    Points
    19 484
    Billets dans le blog
    64
    Par défaut
    chez moi sur ta base quand je tape par exemple :

    Banane ; orange

    j'ai bien les 2 enregistrements correspondant dans le sous-formulaire.

    Quand tu dis que ça ne fonctionne pas, peux tu donner le message d'erreur et la copie d'écran de ton formulaire lors de la saisie ?
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2011
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    Mon but c'est de les voir s'inscrire comme etant la valeur du NomRecup dans le formulaire principal

    Nom2
    Banane
    Orange --------- les différentes ligne encourt dans le sous formulaire
    Poire

    NomRecup
    Banane ; Orange ; Poire

  10. #10
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 285
    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 285
    Points : 19 484
    Points
    19 484
    Billets dans le blog
    64
    Par défaut
    Comme ça :

    Nom : form.png
Affichages : 176
Taille : 33,9 Ko
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  11. #11
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 285
    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 285
    Points : 19 484
    Points
    19 484
    Billets dans le blog
    64
    Par défaut
    En gros tu demandes l'inverse. essaye ce code sur ouverture de ton 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
    Private Sub Form_Open(Cancel As Integer)
        Dim rst As DAO.Recordset
        Dim liste_noms As Variant ' tableau des noms
     
        Set rst = Me.SousFormTable1.Form.Recordset
        liste_noms = ""
        Do Until rst.EOF
            liste_noms = liste_noms & rst!Nom2 & ";"
            rst.MoveNext
        Loop
     
        If liste_noms <> "" Then
            Me.NomRecup = Left(liste_noms, Len(liste_noms) - 1)
        Else
            Me.NomRecup = ""
        End If
     
    End Sub
    C"est tellement pas habituel comme demande..
    Fichiers attachés Fichiers attachés
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2011
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    Pourriez-vous m'envoyer votre Base pour voir la différence avec la mienne

    Je ne sais pas pourquoi elle ne marche pas chez moi

    peut-on faire un copier des différentes lignes du sous formulaire actif et les coller dans le champs NomRecup du formulaire principal avec un espace entre chaque ligne collée
    ça sera plus simple pour moi

  13. #13
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 285
    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 285
    Points : 19 484
    Points
    19 484
    Billets dans le blog
    64
    Par défaut
    La base est postée dans mon dernier message.

    Il faut supprimer le code sur après maj de la zone de texte nomrecup, et ne garder que le code sur ouverture du formulaire.

    Il faut aussi remettre la table1 comme source du sous-formulaire.
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2011
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    Oui j'ai fait le nécessaire et ca fonctionne bien
    Merci

    Juste pour finir

    Comment faire un copier des différentes lignes du sous formulaire actif et les coller dans le champs NomRecup du formulaire principal avec un espace entre chaque ligne collée ?

  15. #15
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 285
    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 285
    Points : 19 484
    Points
    19 484
    Billets dans le blog
    64
    Par défaut
    Bonjour,

    Pouvez-vous m'expliquer le but de la manœuvre ?
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2011
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    Bonjour User

    J'ai commis une erreur dans l'envoi de la base , en effet le Nom2 du sous formulaire est une liste déroulante de nom de fruits (NomFruit)

    Le Code marche bien mais il me renvoie l'ID (la colonne 1) de la liste . Comment modifier ton code pour avoir la colonne 2 de la liste et de ce fait l'intitulé de fruits et non leur ID
    Merci
    Fichiers attachés Fichiers attachés

  17. #17
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 285
    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 285
    Points : 19 484
    Points
    19 484
    Billets dans le blog
    64
    Par défaut
    Dans le code rst!NomFruit fait référence au champ de la table source du sous-formulaire et non pas à la liste déroulante.
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2011
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    Ca me donne erreur
    Images attachées Images attachées  

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2011
    Messages : 35
    Points : 6
    Points
    6
    Par défaut
    Merci pour ton aide car j'en ai besoin pour finir

  20. #20
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 285
    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 285
    Points : 19 484
    Points
    19 484
    Billets dans le blog
    64
    Par défaut
    ...
    Fichiers attachés Fichiers attachés
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/10/2014, 10h27
  2. Réponses: 3
    Dernier message: 06/10/2010, 14h08
  3. Réponses: 2
    Dernier message: 29/01/2007, 19h34
  4. Création de plusieurs niveaux de sous formulaires
    Par Farbin dans le forum Access
    Réponses: 2
    Dernier message: 25/10/2005, 20h15
  5. insertion : comment récupérer l'enregistrement ?
    Par farmer dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/04/2005, 18h57

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