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 :

Contrôle sur un champ d'un SF lors de la fermeture du Formulaire principal


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 24
    Points
    24
    Par défaut Contrôle sur un champ d'un SF lors de la fermeture du Formulaire principal
    Bonjour,

    je cherche un code VBA qui me permets, lorsque je clique sur un bouton qui me permets de sortir d'un formulaire, qu'il aie un contrôle avant la fermeture du dit formulaire sur un champ du sous-formulaire, et qui doit être obligatoirement rempli..

    Le nom du formulaire principal est: "OPF_F_DebiteurUnique"
    Le champ Père est: "Debiteur_C_NumdebGIOP"

    Le nom du sous-formulaire est: "OPF_F_AdresseSF"
    Le champ fils: "Adresse_C_NumdebGIOP"

    j'aimerais contrôler que le champ "Adresse_D_Depuis", qui se trouve dans le sous-formulaire, ne soit pas vide au moment ou je clique sur la bouton qui me permets de sortir du formulaire principale "OPF_F_DebiteurUnique".
    j'ai essayé plusieurs solutions qui n'ont pas fonctionnées.
    Exemple de code qui ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If IsNull(Forms![OPF_F_DebiteurUnique]![OPF_F_AdresseSF].Form![Adresse_D_Depuis]) Then
           MsgBox "Veuillez remplir la date de sortie SVP"
           Exit Sub
    Else
                DoCmd.OpenForm "OPF_F_Secteur", , , "Debiteur_B_Actif = true"
                DoCmd.Close acForm, "OPF_F_DebiteurUnique"
        End If
    si vous avez une solution à me proposer... je suis prenneur... Merci d'avance.
    Cavart

  2. #2
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.

    Je viens d'essayer avec cette syntaxe, et cela fonctionne très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If IsNull(Forms![OPF_F_DebiteurUnique]![OPF_F_AdresseSF]![Adresse_D_Depuis]) Then
    MsgBox "Veuillez remplir la date de sortie SVP"
    Exit Sub
    Else ...
    J'ai essayé ce code sur le bouton de fermeture d'un formulaire principal contenant plusieurs sous-formulaires.
    Cordialement.

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 24
    Points
    24
    Par défaut Contrôle sur un champ d'un SF lors de la fermeture du formulaire
    Bonjour,

    merci d'avoir pris le temps de me répondre.
    J'ai essayé votre code. Il ne fonctionne pas.

    j'ai le message d'erreur suivant lorsque j'actionne le bouton pour sortir du formulaire:
    Citation Envoyé par Message d'erreur
    Erreur d'exécution 2465: Impossible de trouver le champ 'OPF_F_AdresseSF' auquel il est fait référence dans votre expression
    .

    c'est bizzard, car 'OPF_F_AdresseSF' n'est pas un champ, mais le sous-formulaire du formulaire 'OPF_F_DebiteurUnique'...

    Je ne comprend pas bien, car votre code me parait très cohérent...

    Sylvain

  4. #4
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.

    Je viens de faire des essais pour voir d'où vient l'erreur, car la syntaxe est correcte. Et j'ai effectivement pu provoquer cette erreur.
    Le nom que vous utilisez pour le sous formulaire (OPF_F_DebiteurUnique) est sans doute différent du nom par lequel il est désigné en tant que contrôle dans le formulaire principal.
    Ouvrez le formulaire principal en mode création, puis sélectionnez le sous-formulaire concerné en cliquant sur son bord extérieur ou sur le petit carré gris en haut à gauche du sous-form, et affichez ses propriétés. Le type de sélection doit être sous-formulaire/sous-état. Vérifiez son nom dans l'onglet autre. J'ai obtenu cette erreur quand j'utilisais le nom du sous-form tel qu'il est appelé dans la base de données, alors qu'il porte un autre nom en tant que contrôle dans le formulaire principal.
    Cordialement.

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 24
    Points
    24
    Par défaut Contrôle sur un champ d'un SF lors de la fermeture du Formulaire principal
    Bonjour RobyPMS,

    un grand merci pour votre aide...
    Effectivement, le nom de mon sous-formulaire "OPF_F_DebiteurUnique" était nommé "Fille12" dans le champ "nom" sous l'onglet "Autres"...
    J'ai presque un peu honte de ne pas avoir vu ce problème... c'est tellement basic....
    Je ferai attention la prochaine fois.
    Maintenant, la fonction de test fonctionne très bien.
    Encore un grand merci, et j'y ajoute encore un joyeux Noël et tout mes voeux pour vous et votre famille pour l'année 2012.

    Sylvain

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 24
    Points
    24
    Par défaut Contrôle sur un champ d'un SF lors de la fermeture du Formulaire principal
    Re bonjour,

    Petite question encore:
    sur ce code, on test qu'un seul champ du sous-formulaire OPF_F_AdresseSF.
    Est-il possible de tester deux, voir plusieurs champs de ce même sous-formulaire, avant que l'on autorise l'enregistrement dans la base des données introduites.
    Merci d'avance pour vos réponses.
    J'en profite pour vous souhaiter une très bonne année 2012
    au plaisir de vous lire. Sylvain

  7. #7
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour et bonne année!
    Bien sûr, c'est possible de tester sur plusieurs champs, ou sur plusieurs combinaisons différentes. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If IsNull(Forms![OPF_F_DebiteurUnique]![OPF_F_AdresseSF]![Adresse_D_Depuis]) And IsNull(Forms![OPF_F_DebiteurUnique]![OPF_F_AdresseSF]![Autrechamp]) Then
    ......
    Si vous voulez tester plusieurs combinaisons différentes, avec des messages différents par exemple, il suffit d'utiliser les ElseIf:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If IsNull(Forms![OPF_F_DebiteurUnique]![OPF_F_AdresseSF]![Adresse_D_Depuis]) And IsNull(Forms![OPF_F_DebiteurUnique]![OPF_F_AdresseSF]![Autrechamp]) Then
    ......
    ElseIf IsNull(Forms![OPF_F_DebiteurUnique]![OPF_F_AdresseSF]![Adresse_D_Depuis]) And IsNull(Forms![OPF_F_DebiteurUnique]![OPF_F_AdresseSF]![TroisèmeChamp]) Then
    ......
    Cordialement

  8. #8
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 21
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    ça fonctionne. tout est parfait.
    Merci pour tout.

    Bonne journée et à bientôt.

    Sylvain

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

Discussions similaires

  1. Contrôle sur les champs d'un formulaire
    Par aritas dans le forum Langage
    Réponses: 2
    Dernier message: 21/07/2013, 11h14
  2. contrôle sur plusieurs champs Input
    Par paolo2002 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/03/2008, 12h33
  3. contrôle sur 2 champs dates
    Par jeanfi77 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/05/2007, 17h56
  4. Contrôle sur les champs d' une pages JSP
    Par amine1980 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 06/03/2007, 08h38
  5. contrôle sur un champ dans un formulaire
    Par yoline dans le forum Access
    Réponses: 6
    Dernier message: 01/10/2005, 19h23

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