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 :

Problème de code pour vérification champs remplis [AC-2007]


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 34
    Points : 20
    Points
    20
    Par défaut Problème de code pour vérification champs remplis
    Bonjour,

    j'ai un formulaire "contact" avec un champ "société" qui doit être obligatoirement rempli, et les autres champs sont les détails du contact, nom prénom email etc.

    J'ai un bouton "enregistrer et fermer", et j'aimerais que lorsque l'on clique dessus, un message s'affiche si:

    - le champ société n'est pas renseigné
    - aucun autre champ n'est rempli


    En gros, je veux qu'au moins une information (à part société qui est de toute façon obligatoire) soit remplie pour sauvegarder l'enregistrement.

    Je suis débutant, j'ai essayé de coder ça en VBA, mais ça ne fait absolument rien lorsque je clique sur le bouton...

    Voilà 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
    15
    16
    Private Sub cmdClose_Click()
    If (IsNull(Me.Nom.Value) Or (Me.Nom.Value) = "") _
    And (IsNull(Me.Prénom.Value) Or (Me.Prénom.Value) = "") _
    And (IsNull(Me.Téléphone.Value) Or (Me.Téléphone.Value) = "") _
    And (IsNull(Me.Email.Value) Or (Me.Email.Value) = "") _
    Then
        MsgBox "Veuillez renseigner au moins un champ.", vbExclamation, "Champs vides"
        Exit Sub
        End If
     
    If IsNull(Me.Société.Value) Or (Me.Société.Value) = "" Then
    MsgBox "Veuillez renseigner le champ société.", vbExclamation, "Champ obligatoire"
        Exit Sub
    End If
    DoCmd.Close
    End Sub

    Si quelqu'un peut valider/modifier la logique et/ou le code ce serait sympa!

    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Peut-être une piste : ici ?

    @+.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Tu peux t'en sortir sans code VBA !

    Il suffirait d'exprimer dans la propriété "Valide si"
    soit de la table source
    soit du contrôle Société du formulaire
    que la valeur ne peut pas être Null (ou <> de zéro si c'est l'id d'une clé étrangère).

    P.-S. Prends l'habitude de nommer tes objets, contrôles... sans utiliser de caractères spéciaux, espaces, de lettres accentuées.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par zoom61 Voir le message
    Peut-être une piste : ici ?

    @+.
    C'est bon je viens de comprendre le problème! Le clic sur bouton était configuré en macro, voilà pourquoi il ne prenait pas en compte mon code (qui fonctionne donc, mais celui sur le lien a l'air plus pratique, donc je vais le modifier, merci!)

  5. #5
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    Tu peux t'en sortir sans code VBA !
    Cela ne devrait pas être possible vu qu'il veut qu'au moins un des champ soit rempli
    Citation Envoyé par robin148
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox "Veuillez renseigner au moins un champ.", vbExclamation, "Champs vides"
    @+.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par ClaudeLELOUP Voir le message
    Bonjour,

    Tu peux t'en sortir sans code VBA !

    Il suffirait d'exprimer dans la propriété "Valide si"
    soit de la table source
    soit du contrôle Société du formulaire
    que la valeur ne peut pas être Null (ou <> de zéro si c'est l'id d'une clé étrangère).
    Oui mais dans ce cas chaque champ sera obligatoire, non?

    Alors que je veux juste qu'un seul champ (n'importe lequel) soit rempli au minimum.

    Mais du coup vu que mon code semble fonctionner c'est bon
    Merci quand même!

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

Discussions similaires

  1. [AC-2010] Problème de code pour éliminer les champs vide entre 2 tables
    Par kinine dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/01/2013, 20h16
  2. [WD-2007] un problème de fou pour les champs calculés
    Par PHAUSTRATE dans le forum Word
    Réponses: 5
    Dernier message: 11/06/2010, 09h05
  3. problème de code pour police
    Par demando77 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 24/03/2008, 18h42
  4. Réponses: 11
    Dernier message: 12/03/2008, 16h25

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