Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/02/2011, 15h01   #1
Membre du Club
 
Emmanuel
Inscription : novembre 2010
Messages : 49
Détails du profil
Informations personnelles :
Nom : Emmanuel

Informations forums :
Inscription : novembre 2010
Messages : 49
Points : 66
Points : 66
Par défaut Désactiver un bouton dans un form par lui même ?

Bonjour à tous et toutes.

J'ai créé une application Access et c'est d'ailleurs un miracle pour moi qui suis autodidacte.
Je souhaite interdire l'utilisateur de saisir une date > à Date().
Ca je sais faire mais je voudrais compliquer un peu.
Voici un bout de code qui j'ai trouvé sur internet (un exemple sera plus simple que longues explications)

Au début Textbox est = 0
On clique sur cmdIncrease 14 fois et on obtient 14 dans Textbox : normal mais... comment faire pour désactiver le bouton dés le quinzième clique (puisque Textbox=15) ?
Dans l'exemple suivant il est désactivé au 16ème clique.

Je cherche la solution depuis un bon moment, en vain.
Merci de votre aide.


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Compare Database
Option Explicit
 
Private m_intActualValue As Integer
 
Private Sub cmdIncrease_Click()
  If IsNull(Me!txtValeur) Then Me!txtValeur = 0
  m_intActualValue = Me!txtValeur
  If m_intActualValue >= 15 Then
    m_intActualValue = 15
    cmdDecrease.SetFocus
    cmdIncrease.Enabled = False
    Exit Sub
  End If
  cmdDecrease.Enabled = True
  m_intActualValue = m_intActualValue + 1
  Me!txtValeur = m_intActualValue
End Sub
Dixies est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 15h12   #2
Membre Expert
 
Avatar de keita
 
Homme
Inscription : novembre 2002
Messages : 879
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations forums :
Inscription : novembre 2002
Messages : 879
Points : 1 015
Points : 1 015
Envoyer un message via MSN à keita
bonjour
Et ça?
Code :
If IsNull(Me!txtValeur) Then Me!txtValeur = 1
@+
keita est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 18h07   #3
Membre du Club
 
Emmanuel
Inscription : novembre 2010
Messages : 49
Détails du profil
Informations personnelles :
Nom : Emmanuel

Informations forums :
Inscription : novembre 2010
Messages : 49
Points : 66
Points : 66
Bonjour Keita

Merci pour ta réponse mais ça ne fonctionne pas.
D'ailleurs je ne vois pas non plus le raisonnement.
Ce que je souhaite en reprenant le code exemple c'est que puisque le maximun autorisé est 15, dés que le Txtbox affiche 15, mon bouton se séactive.
Si sur ouverture du form Texbox=0 , je voudrais que 15 clicks plustard mon bouton cmdIncrease se désactive et non pas 16 clicks.

Merci encore.
Dixies est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 19h13   #4
Expert Confirmé
 
Avatar de FreeAccess
 
Homme
Inscription : mars 2006
Messages : 2 309
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 2 309
Points : 2 847
Points : 2 847
Bonjour,

Vite fait, sans utilisation de variable...
Code :
1
2
3
4
5
6
7
8
9
10
Private Sub cmdIncrease_Click()
If IsNull(Me!txtValeur) Then Me!txtValeur = 0
 
Me.txtValeur.Value = Me.txtValeur.Value + 1
If Me.txtValeur.Value = 15 Then
    cmdDecrease.SetFocus
    cmdIncrease.Enabled = False
    Exit Sub
End If
End Sub
....dès que la valeur est égale à 15, le bouton est désactivé...

..à adapter (en particulier, par la récupération du jour de la date en cours...)
Ce qui te permettra de répondre à ce critère...
Citation:
...interdire l'utilisateur de saisir une date > à Date().
Comment obtenir le mois, le jour ou l'année d'une date
__________________
FreeAccess
"Petit à petit l'araignée tisse sa toile"
FreeAccess est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/02/2011, 19h34   #5
Membre du Club
 
Emmanuel
Inscription : novembre 2010
Messages : 49
Détails du profil
Informations personnelles :
Nom : Emmanuel

Informations forums :
Inscription : novembre 2010
Messages : 49
Points : 66
Points : 66
Bonjour FreeAccess

Ca marche super.
C'est exactement ce qu je cherchais et d'ailleurs mon projet de base est précisément d'interdire la saisie d'une date > Date().
Je n'ai plus qu'à l'adapter à mon applic.

Merci encore.

Cordialement.
Dixies est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h53.


 
 
 
 
Partenaires

Hébergement Web