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

VBA Access Discussion :

obligation de saisie d au moins UN champ avant enregistrement suivant


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut obligation de saisie d au moins UN champ avant enregistrement suivant
    Bonjour,

    Je voudrais, a partir d un bouton de commande "OK NEXT", obliger l utilisateur de mon formulaire a remplir le formulaire et un sous formulaire avant de passer a l enregistrement suivant.

    (Tant que l utilisateur n a pas saisie au mois UN champ, le bonton ne fonctionne pas... avec un MsgBox pour expliquer...)

    Comment puis je faire ??

    Merci pour votre aide

    (le probleme reside dans le fait que mon formulaire contient un certain nombre de champs... et que je ne peux definir de champ obligatoire...)

  2. #2
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 131
    Points : 129
    Points
    129
    Par défaut
    Tu testes les champs en question s'ils sont vides avant de poursuivre.
    Avec des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    not isnull(TonChamp.value)
    ou
    Par exemple

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 616
    Points : 34 299
    Points
    34 299
    Par défaut
    salut,
    une méthodo que j'utilise au boulot, un peu longue à mettre en place, mais une fois développée, très pratique :
    - 1 table avec
    -- Nom du formulaire
    -- Liste des champs obligatoires à remplir

    - 1 fonction qui
    -- vérifie que chacun des champs du formulaire en cours ont été remplis
    --- si oui, enable à true du bouton
    --- sinon enable reste à false + msgbox d'alerte
    --- en plus value, passage en backcolor du champs en rouge si nécessite une valeur
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    et je dois faire ca sur tous les champs ???

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    que je ne peux definir de champ obligatoire...
    N y a t il pas un moyen de detecter si l utilisateur a au moins saisie UN champ n importe lequel ??

    J ai oublié de preciser : il s agit de check box en majorite...

  6. #6
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 131
    Points : 129
    Points
    129
    Par défaut
    Oui (Edit: pour la question d'avant),
    Voici un exemple très archaïque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        With Me
                If (IsNull(.Civilite.Value) Or .Civilite.Value = "") Then
                    MsgBox "ton message d'erreur"
                ElseIf (IsNull(.nom.Value) Or .nom.Value = "") Then
                    MsgBox "ton message d'erreur"
                'ainsi de suite avec des elseif pour chaque champ
     
                Else
                    'tout est rempli alors et tu continue
                End If
        End With
    Edit: pour au moins un champ, il ne devrais y avoir qu'un seul if avec des "and" pour tous les test oui c'est archaïque

Discussions similaires

  1. [1.x] Modification champ avant enregistrement
    Par shakly dans le forum Symfony
    Réponses: 7
    Dernier message: 25/09/2011, 20h58
  2. Réponses: 1
    Dernier message: 13/07/2011, 10h44
  3. obliger la saisie dans une zone de texte
    Par mat75019 dans le forum Access
    Réponses: 5
    Dernier message: 02/05/2006, 16h59
  4. [Formulaire] vérifier les champs avant enregistrement
    Par julien_t_m dans le forum Access
    Réponses: 5
    Dernier message: 16/10/2005, 20h53
  5. obliger la saisie de 3 lettres puis de 4 entiers
    Par benben13 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 16/09/2005, 16h52

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