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 :

Compléter un sous formulaire


Sujet :

IHM

  1. #1
    Membre habitué Avatar de C15nantes
    Homme Profil pro
    retraité
    Inscrit en
    Février 2011
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2011
    Messages : 379
    Points : 137
    Points
    137
    Par défaut Compléter un sous formulaire
    Bonjour à tous et à toutes,

    J'ai un formulaire 0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG concernant les coordonnées des adhérents contenant un sous-formulaire F_Cotisation pour gérer ses cotisations.

    Sur activation du formulaire principal tous les contrôles y compris le sous-formulaire sont bloqués pour éviter les maj intempestives.
    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
    Private Sub Form_Current()
    On Error Resume Next
     
    Dim Ctl As Control
        For Each Ctl In Me.Détail.Controls
     
        If (Ctl.ControlType = acTextBox) Or (Ctl.ControlType = acComboBox) Or (Ctl.ControlType = acCheckBox) Then
        Ctl.Locked = True
        End If
        Next Ctl
     
        Me.F_Cotisation.Locked = True
        Me.QuelAdherent.Locked = False
        NomDeChemin_AfterUpdate
    ...
    end sub
    Dans mon formulaire principal j'ai un bouton "Modifier" qui débloque tous ces contrôles et modifier par exemple le N° de téléphone
    Dans mon sous-formulaire j'ai un bouton "Modifier" pour par exemple saisir la présence à l'AG 2020 et le paiement de sa cotisation.
    Tout cela marche parfaitement

    Lors de la création d'un nouvel adhérent j'aurais voulu pouvoir directement valider le paiement de sa cotisation sans utiliser le bouton modifier.

    J'ai un bouton "enregistrer une nouvelle fiche" avec le code suivant :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    Private Sub Nouveau_Click()
    On Error GoTo Err_Nouveau_Click
     
    If Me.NewRecord Then
         N°Adherent = DMax("[N°Adherent]", "[T Adhérents]") + 1
         Me.DateJour.Value = Date
     
         DoCmd.RunCommand acCmdSaveRecord
     
     
         MsgBox "S'il s'agit d'un nouvel adhérent, changer d'enregistrement par roulette souris ou le navigateur en bas à gauche" & Chr(13) & "et revenez sur la fiche du nouveau avant d'ouvrir le formulaire de ses cotisations", vbOKOnly
     
        'Ajout du nouvel enregistrement dans la table T_Cotisation
         Dim T_Cotisation As dao.Recordset
               Set T_Cotisation = CurrentDb.OpenRecordset("T_Cotisation", dbOpenDynaset)
     
               T_Cotisation.AddNew
               T_Cotisation("T_Adherent_FK") = Me.N°Adherent
               T_Cotisation.Update
     
        Me.F_Cotisation.Locked = False
        Forms![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![Cotisation_An].Locked = False
        Forms![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![AG].Locked = False
        Forms![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![Cotisation].Locked = False
        Forms![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![Cotisation_Du].Locked = False
     
    End If
    ....
    end sub
    Tout fonctionne parfaitement depuis longtemps.

    Pour résoudre mon problème actuel, je viens de rajouter les lignes 21 à 25
    Cela ne marche pas car il me faut toujours utiliser le bouton "modifier" du sous formulaire, ce que je voulais éviter.

    Je dois rajouter que sur Après mise à jour de la DateAdhesion du formulaire principal j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub DateAdhesion_AfterUpdate()
    [Forms]![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![Cotisation_An].Value = Year(DateAdhesion)
    End Sub
    Ce qui fonctionne parfaitement aussi

    Les lignes 21 à 25, à quelle propriété du formulaire principal ou du sous formulaire, peut-on les associer pour éviter de passer par le bouton "modifier" du sous-formulaire ?

    Merci de votre aide
    A+
    C15

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Points : 2 491
    Points
    2 491
    Par défaut
    Après (ou avant) les lignes 21 à 25, appeler la procédure "Modifier" avant de continuer.

  3. #3
    Membre habitué Avatar de C15nantes
    Homme Profil pro
    retraité
    Inscrit en
    Février 2011
    Messages
    379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2011
    Messages : 379
    Points : 137
    Points
    137
    Par défaut
    Bonjour
    Ce que j'ai fait

    Sur le bouton nouvelle fiche

    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
    Private Sub Nouveau_Click()
    ...
     Dim Ctl As Control
        For Each Ctl In Me.Détail.Controls
        If (Ctl.ControlType = acTextBox) Or (Ctl.ControlType = acComboBox) Or (Ctl.ControlType = acCheckBox) Then
        Ctl.Locked = False
        End If
        Next Ctl
     
     
        Me.F_Cotisation.Locked = False
        Forms![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![Cotisation_An].Locked = False
        Forms![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![AG].Locked = False
        Forms![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![Cotisation].Locked = False
        Forms![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![Cotisation_Du].Locked = False
     
    ...
    Par ailleurs, j'ai fait ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub F_Cotisation_Enter()
     Me.F_Cotisation.Locked = False
        Forms![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![Cotisation_An].Locked = False
        Forms![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![AG].Locked = False
        Forms![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![Cotisation].Locked = False
        Forms![0_FORMULAIRE_ADHERENT_AVEC_COTISATIONS_ET_AG]![F_Cotisation].[Form]![Cotisation_Du].Locked = False
    End Sub
    Je m'aperçois alors qu'il me faut cliquer 2 fois sur l'un des contrôles [AG] ou [Cotisation] pour en changer la valeur et une seule fois sur n'importe quel autre.

    Merci de ton aide
    A+
    C15

Discussions similaires

  1. compléter sous-formulaire suivant premier champ
    Par yieiii dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 22/08/2010, 12h51
  2. Verouillage de formulaire et sous formulaire
    Par Mattdesoibs dans le forum IHM
    Réponses: 3
    Dernier message: 15/10/2004, 10h22
  3. Rafraichir un sous-formulaire
    Par estancha dans le forum IHM
    Réponses: 2
    Dernier message: 12/10/2004, 11h06
  4. Réponses: 2
    Dernier message: 10/10/2004, 23h12
  5. où est mon sous-formulaire ?
    Par yves_fuji dans le forum IHM
    Réponses: 2
    Dernier message: 08/09/2004, 08h34

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