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 :

desactivé bouton fermer tant que tt n'est pas saisi


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut desactivé bouton fermer tant que tt n'est pas saisi
    Bonjour,

    Comment fait ton pour désactiver le bouton fermer tant que tout les champs du formulaire ne sont pas saisie ?

    J'ai aussi une autre question liée, comment fait-on pour créer un bouton annuler qui fermerai le formulaire sans enregistrer les saisies ?

    Merci d'avance a vous tous !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut

    il me semble que l'on ne peut le désactiver qu'en mode création, le mieux est de l'enlever carrément et de créer un bouton avec enabled = false et de mettre enabled = true quand tout est saisi, et sur l'évement click de fermer le formulaire

    Starec

  3. #3
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    oui j'y avait pensé mais j'ai un message d'erreur "impossible de désactivé le controle actif"
    voila mon 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    Public Sub Commande108_Click()
    On Error GoTo Err_Commande108_Click
    If Me.dr = 0 Then
        MsgBox "Veuillez séléctionner la dr de gestion pour fermer le formulaire"
        Me.Commande108.Enabled = False
    End If
    If Me.idemp = 0 Then
        MsgBox "Le code emprunteur doit être saisi pour fermer le formulaire"
        Me.Commande108.Enabled = False
     
    End If
    If Me.libemp = 0 Then
        MsgBox "Le libellé de l'emprunteur doit être saisi pour fermer le formulaire"
        Me.Commande108.Enabled = False
    End If
    If Me.dep = 0 Then
        MsgBox "Le département doit être saisi pour fermer le formulaire"
        Me.Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!capacite = 0 Then
        MsgBox "La capacité doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!tx_occ = 0 Then
        MsgBox "Le taux d'occupation doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!nb_ets_geres = 0 Then
        MsgBox "Le nombre d'établissement doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!immo_nettes = 0 Then
        MsgBox "Le montant de immobilisations nettes doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!ca = 0 Then
        MsgBox "Le montant du chiffre d'affaire doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!total_bilan = 0 Then
        MsgBox "Le montant total du bilan doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!fdr_inv = 0 Then
        MsgBox "Le montant du FDR inv doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!fdr = 0 Then
        MsgBox "Le montant du FDR doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!bfr = 0 Then
        MsgBox "Le montant du BFR doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!treso = 0 Then
        MsgBox "Le montant de la trésorie doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!tx_endett = 0 Then
        MsgBox "Le montant de immobilisations nettes doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!poids_ch_perso = 0 Then
        MsgBox "Le poids des charges de personnel doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!res_exploit = 0 Then
        MsgBox "Le montant du résultat d'exploitation doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!res_net = 0 Then
        MsgBox "Le montant du résultat net doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!tx_recettes_tut = 0 Then
        MsgBox "Le % recettes versées par tutelle doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!capdes = 0 Then
        MsgBox "Le capdes doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!rent_glob = 0 Then
        MsgBox "Le montant de la rentabilité globale doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!annee = 0 Then
        MsgBox "L'année doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!outil = 0 Then
        MsgBox "L'outil doit être saisi pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!activite = Null Then
        MsgBox "La note sur l'activité doit être séléctionnée pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!managt = Null Then
        MsgBox "La note sur le management doit être séléctionnée pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!taille_noto = Null Then
        MsgBox "La note sur la taille et la notoriété doit être séléctionnée pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!fiab_trans = Null Then
        MsgBox "La note sur la fiabilité et la transparence doit être séléctionnée pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!prev = Null Then
        MsgBox "La note sur le prévisionnel doit être séléctionnée pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!nq = Null Then
        MsgBox "La note qualitative globale doit être calculé (veuillez cliquez sur le bouton MAJ NQ pour fermer le formulaire"
        Forms!f_EnregistrementNouvelemprunteur!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!comm_not_quali = Null Then
        MsgBox "Veuillez saisir un commentaire dans l'encadré prévu a cet effet"
        Forms!f_EnregistrementNouvelemprunteur!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Forms!f_EnregistrementNouvelemprunteur!f_NouvelEmprunteur_ModifNotation.Form!comm_not_quali = Null Then
        MsgBox "Veuillez saisir la décision de financement dans l'encadré prévu a cet effet"
        Forms!f_EnregistrementNouvelemprunteur!f_EnregistrementNouvelemprunteur.Form!Commande108.Enabled = False
    End If
    If Me.Commande108.Enabled = True Then
    DoCmd.close
    Else
    End If
    Exit_Commande108_Click:
        Exit Sub
     
    Err_Commande108_Click:
        MsgBox Err.Description
        Resume Exit_Commande108_Click
     
    End Sub
    qu'es qui va pas la dedans ?
    merci de votre aide !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Il faut tout simplement mettre le focus sur un autre contrôle avant de le désactiver ou de le ré-activer

    Starec

  5. #5
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Tu peux essayer de remplacer tes par Bon courage,

    pgz

  6. #6
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    merci starec, ca marche !

    Et si l'utilisateur n'a pas les infos, comment faire pour qu'il annulle et quitte ?

  7. #7
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    j'ai finalement utilisé ta solution pgz, car je ne voyait pas les messages apparaitre avec le .enabled

    mais a tu une solution pour l'annulation ?

  8. #8
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonsoir

    Pour l'annulation, je verrais 2 solutions :

    1. Utiliser une instruction DELETE en SQL. C'est simple, mais ça bouffe des numéros auto.
    2. Si ça gène de bouffer des num auto, tu rajoutes dans ta table source (ou dans une des tables de la requête) un champ 'OKEnr", avec la propriété Null interdit. Tu montes le contrôle correspondant dans le formulaire, mais Visible = faux.
    Quand tu veux fermer et enregistrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.OkEnr = "OK"
    DoCmd.Close acForm,Me.Name
    Quand tu veux fermer sans enregistrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.Close acForm,Me.Name
    Bon courage,

    pgz

Discussions similaires

  1. [Toutes versions] Nom d'un bouton en tant que variable
    Par m@tix dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/07/2011, 09h37
  2. Desactiver bouton fermer
    Par nezhaaem dans le forum C++Builder
    Réponses: 12
    Dernier message: 01/08/2010, 14h00
  3. Empêcher la tabulation tant que la TextBox n'est pas saisie
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/07/2010, 22h14
  4. Réponses: 11
    Dernier message: 15/02/2009, 16h11
  5. Réponses: 1
    Dernier message: 09/08/2007, 08h48

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