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 :

limitation inscriptions dans un sous-formulaire


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2020
    Messages : 37
    Points : 20
    Points
    20
    Par défaut limitation inscriptions dans un sous-formulaire
    Bonsoir,

    J'ai besoin de vos services pour solutionner un problème que je rencontre en voulant limiter les inscriptions dans un sous-formulaire.

    J'ai une base de donnée "cours" dans laquelle j'ai des leçons. J'ai un formulaire "inscriptions" dans lequel se trouve un sous-formulaire dans lequel j'inscris le participants aux divers leçons ( sf : Participants sous-formulaire4).

    Comme on peut le voir dans l'exemple (en se positionnant dans ce sous-formulaire), j'ajoute les personnes via une liste déroulante (nom_prenom) et ensuite je complète en sélectionnant la leçon, dans une autre liste déroulante (id_participant_lecon). Dans cette liste déroulante, j'ai un champ (nbre_max_pers) qui devrait me permettre de limiter le nombre d'inscriptions.

    J'ai bien essayé de limiter en inscrivant dans "après MAJ", le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Me.CurrentRecord > Me.Nom_lecon.Column(4) Then

    ...mais le problème ce qu'il ne me fait qu'un contrôle sur un enregistrement.
    Je pense qu'il faudrait créer une boucle qui me passe en revue tous les enregistrements du sous-formulaire, mais je ne sais pas comment procéder.

    Je vous remercie par avance pour votre aide.
    Mike1971limiter_lecons_test1.accdb.zip

  2. #2
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Salut
    Il n'y a pas de champ (nbre_max_pers) dans T_Planning ni même dans votre combobox Nom_lecon !
    Peut-être ajouter dans la source de votre combobox Nom_lecon le champ (NombreParticipants) !
    A adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If DCount("*", "Participants", "ID_participant_lecon = " & Me.Parent.IdCours) > Me.Nom_lecon.Column(4) Then
        Action_si_vrai
    Else
        Action_si_faux
    End If
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Me.[Participants sous-formulaire4].Form.Recordset.RecordCount > Me.Nom_lecon.Column(4) Then
        Action_si_vrai
    Else
        Action_si_faux
    End If

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2020
    Messages : 37
    Points : 20
    Points
    20
    Par défaut compter le nombre d'enregistrements identiques
    Merci pour la réponse, mais je n'arrive pas à ce que vous souhaite.
    Je souhaite limiter le nombre d'inscriptions à ce qui a été inscrit dans "nom_lecon.column(4) et si ça dépasse cela me donne une alerte.

    -> quel code puis entrer pour compter le nombre de leçons identiques dans le cours ? (p. ex. : compter le nombre de leçon 1)


    Merci encore pour votre réponse et meilleures salutations

  4. #4
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2020
    Messages : 37
    Points : 20
    Points
    20
    Par défaut Compter le nombre d’inscriptions identiques
    N’y a-t-il personne pour m’aider avec ce problème.
    Merci d’avance

    Mike1971

  5. #5
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2020
    Messages : 37
    Points : 20
    Points
    20
    Par défaut récupérer la valeur d'un champ
    comment faire pour, dans une Fonction, récupérer la valeur d'un champ ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Public Function Doublon_Lecon(IDPartLecon As String, IDPartCours As String) As Boolean
     '   compteLecon = Me.compteLecon
        Doublon_Lecon = DCount("*", "Participants", "ID_participant_lecon=" & IDPartLecon & " and ID_Participant_cours =" & IDPartCours) >= 2
    End Function
    à la place d'une variable fixe (ici 2) à la fin, j'aimerais récupérer la valeur d'un champ numérique me.TxtNom situé dans le sous-formulaire...
    j'ai essayé de mettre me.TxtNom à la fin main cela me donne une erreur.

    Merci de votre aide...

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 760
    Points : 14 795
    Points
    14 795
    Par défaut
    bonjour,
    N’y a-t-il personne pour m’aider avec ce problème.
    as-tu pris en compte les indications de hyperion13 au sujet de la colonne nbre_max_pers qui n'existe pas ? personne ne voudra t'aider si tu ne rectifies pas les erreurs qu'on te signale et que tu pars sur autre chose.

    à la place d'une variable fixe (ici 2) à la fin, j'aimerais récupérer la valeur d'un champ numérique me.TxtNom situé dans le sous-formulaire...
    j'ai essayé de mettre me.TxtNom à la fin main cela me donne une erreur.
    pour ce problème, il faut que tu y ajoutes un paramètre à ta fonction qui correspondra au contrôle du sous-formulaire nommé TxtNom car dans une fonction il faut éviter absolument de faire directement appel à des variables objets:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function Doublon_Lecon(IDPartLecon As String, IDPartCours As String, paramTxtNom as long) As Boolean
        Doublon_Lecon = DCount("*", "Participants", "ID_participant_lecon=" & IDPartLecon & " and ID_Participant_cours =" & IDPartCours) >= paramTxtNom 
    End Function
    et dans le code qui appelle la fonction, tu remplaces paramTxtNom par Me.txtNom si c'est dans le sous-formulaire que la fonction est appelée ou Me.[NomduSousFormulaire].Form.TxtNom si c'est dans le formulaire principal que l'appel se fait

Discussions similaires

  1. Sélection multiple dans un sous formulaire ?
    Par _developpeur_ dans le forum Access
    Réponses: 2
    Dernier message: 09/03/2019, 01h05
  2. Filtre dans un sous-formulaire
    Par moto25 dans le forum IHM
    Réponses: 14
    Dernier message: 10/11/2005, 09h16
  3. Réponses: 23
    Dernier message: 13/10/2005, 16h35
  4. Filtrages dans des sous-formulaires
    Par Smint dans le forum Access
    Réponses: 4
    Dernier message: 20/09/2005, 13h56
  5. Réponses: 4
    Dernier message: 16/09/2005, 15h56

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