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 tester un sous-formulaire ?


Sujet :

Access

  1. #1
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut Comment tester un sous-formulaire ?
    Bonjour,

    j'ai un sous-formulaire qui "se grise / s'efface" lorsqu'il n'y a pas de "sous-enregistrement". (je sais pas comment le dire... )

    Comment tester si ce sF est rempli ou non ?

    J'ai essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
        If Me.sfrmClientInscription. Then
            Me.btnSaveModif.Enabled = False
        Else
            Me.btnSaveModif.Enabled = True
        End If
    End Sub
    Le but est de désactiver un bouton s'il n'y a pas de sous-enregistrement....

    Merci d'avance.

    @+

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut

    Je pense que tu as une erreure dans ton code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current() 
        If Me.sfrmClientInscription. Then 
            Me.btnSaveModif.Enabled = False 
        Else 
            Me.btnSaveModif.Enabled = True 
        End If 
    End Sub
    Dans le If Me.sfrmClientInscription ne correspond à rien !!!

    @+

  3. #3
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    Pardon, erreur de copier/coller pendant mes tests....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current()
        If Me.sfrmClientInscription.Enabled Then
            Me.btnSaveModif.Enabled = False
        Else
            Me.btnSaveModif.Enabled = True
        End If
    End Sub
    Mais le test renvoi toujours True. ce n'est donc pas la bonne propriété à tester...

  4. #4
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Il y a un truc dans ton If Me.sfrmClientInscription.Enabled , il faut que tu le compare soit à la valeur True ou False


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Form_Current() 
        If Me.sfrmClientInscription.Enabled = True Then 
            Me.btnSaveModif.Enabled = False 
        Else 
            Me.btnSaveModif.Enabled = True 
        End If 
    End Sub
    @+

  5. #5
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    On n'est pas obligé de mettre un " = booleen" pour la comparaison....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (Me.sfrmClientInscription.Enabled = False) Then
    renvois toujours False parce que Me.sfrmClientInscription.Enabled est égal à True

    Moi je cherche juste à tester s'il existe un enregitrement dans le sous-formulaire qui est basé sur une requête....

  6. #6
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    salut,

    Si ton sous Formulaire est basé sur une requête tu peux vérifier si il possède un enregistrement et tu anime ton BP en fonction ou alors je n'ai rien compris

    @+

  7. #7
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    Citation Envoyé par Dolphy35
    tu peux vérifier si il possède un enregistrement
    oui mais comment ? C'est ça ma question !

    Citation Envoyé par Dolphy35
    tu anime ton BP en fonction
    C'est quoi un BP ?

    @+

  8. #8
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Citation Envoyé par Tchupacabra
    C'est quoi un BP ?
    Désolé déformation Professionnel je voulais dire un Bouton de commande.

    Pour le recherche d'enregistrement tu créer un Recordset et tu contrôle si il y a des enregistrements.

  9. #9
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    J'ai trouvé cela dans les sources.

    http://access.developpez.com/sources...NavigSansAjout

    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
      Me!txtAtteindre = Me.CurrentRecord
     
    'Disponibilité des boutons de navigations :
      'On ne peut aller vers l'enregistrement précédent
      'que si nous ne sommes pas déjà sur le premier.
      Me!btcPréc.Enabled = (Me.CurrentRecord > 1)
      Select Case Me.NewRecord
        Case True
          Me!btcSuiv.Enabled = False
          Me!btcNouv.Enabled = False
          'Mise à jour des infos de navigation
          '(affichées par étqCpteEnr)
          strInfosNavig = "sur " & Me.CurrentRecord
           'Mise à jour des infos de navigation
           '(affichées par étqCpteEnr)
          If Me.FilterOn Then strInfosNavig = strInfosNavig & " (Filtré)"
        Case False
          Me!btcSuiv.Enabled = True
          Me!btcNouv.Enabled = True
          If Me.CurrentRecord = 1 Then sMajInfosNavig
          'Mise à jour des infos de navigation
          '(affichées par étqCpteEnr)
          strInfosNavig = "sur " & mlngCpteEnr & mstrFiltré
      End Select
    Sur le lien tu peut télécharger le projet Exemple.

    @+

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    salut

    sinon faut faire un recordset du sous form et utiliser la méthode RecordCount.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Dim Rs As Object
        Set Rs = Me.SousForm.Form.RecordsetClone
        nbEnreg = Rs.RecordCount
    ... test de nbEnreg

  11. #11
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Très bien encore plus simple et plus j'aprend un truc merci boubignole


  12. #12
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut


    Trop de la balle !

    @+

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

Discussions similaires

  1. [VBA-A] comment actualiser un sous formulaire
    Par j.luc dans le forum IHM
    Réponses: 4
    Dernier message: 29/04/2015, 14h12
  2. Réponses: 6
    Dernier message: 30/12/2007, 11h43
  3. Comment reduire un sous formulaire
    Par EGSway dans le forum IHM
    Réponses: 9
    Dernier message: 21/06/2007, 19h14
  4. [ACESS 2003]Comment masquer un sous formulaire?
    Par steeves5 dans le forum Access
    Réponses: 2
    Dernier message: 04/05/2006, 08h59
  5. comment tester si un formulaire est vide?
    Par stéphane_ais2 dans le forum Access
    Réponses: 5
    Dernier message: 22/09/2005, 10h28

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