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 02/02/2011, 11h42   #1
Invité de passage
 
Annie
Inscription : novembre 2009
Messages : 6
Détails du profil
Informations personnelles :
Nom : Annie

Informations forums :
Inscription : novembre 2009
Messages : 6
Points : 0
Points : 0
Par défaut Comment incrémenter ou "dés-incrémenter" un controle "date" dans un formulaire à l'aide des touches + et -

Bonjour à tous,

je viens à nouveau solliciter votre aide pour résoudre le petit problème suivant :

Dans un formulaire de saisie, j'ai un contrôle pour saisir une date (contrôle source = champ "date" d'une table " tblContacts"). Par défaut, c'est la date du jour qui est affichée et j'aimerais pouvoir changer la date simplement en appuyant sur la touche + ou - du clavier. C'est faisable ???

D'ailleurs, j'ai également essayé, hélas sans succès, que la date affichée par défaut pour la saisie d'un nouvel enregistrement soit la date qui figure sur le dernier enregistrement saisie. Toutes les astuces, glanées sur le forum, que j'ai essayées m'affichent soit rien, soit le 1/1/1899.... bizarre !

Merci d'avance pour vos lumières....

Annie
cybernini230 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 19h12   #2
Membre Expert
 
Homme Robert JAMIN
Retraité
Inscription : juillet 2009
Messages : 1 223
Détails du profil
Informations personnelles :
Nom : Homme Robert JAMIN
Âge : 73
Localisation : Belgique

Informations professionnelles :
Activité : Retraité
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 223
Points : 2 022
Points : 2 022
Bonsoir,

C'est faisable me semble-t-il avec KeyDown et Select Case

Sur l'évènement Touche appuyée du champ appelé Date vous ecrivez une procédure événementielle.

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub Date_KeyDown(KeyCode As Integer, Shift As Integer)
Touche = KeyCode
Select Case Touche
     Touche = 107 '+ (plus)
            Me!Date = Me!Date + .....
     Touche = 109 ' - (moins)
            Me!Date = Me!Date - ......
Case Else
      Exit Sub
End Select
End Sub
Le mot Date comme nom de champ n'est pas très bien choisit car Date est un mot clé de VBA mettez plutôt d_Date

Edit : J'espère que c'est la même chose pour Access 2010 que pour 2007. Je n'avais pas fait attention.
__________________
Cordialement.

RJ
rjamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 20h11   #3
Invité de passage
 
Annie
Inscription : novembre 2009
Messages : 6
Détails du profil
Informations personnelles :
Nom : Annie

Informations forums :
Inscription : novembre 2009
Messages : 6
Points : 0
Points : 0
Merci Mille Fois !!!!

Juste quelques petites mises au point et ça fonctionne du tonnerre...
1. Il faut affecter le code sur la propriété "Key Up" (Touche relachée)
2. j'ai dû changer le code du select case (Me! ne marche pas dans mon formulaire pour une obscure raison. )
Voici le résultat final qui lui fonctionne :

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub DateReg_KeyUp(KeyCode As Integer, Shift As Integer)
Touche = KeyCode
Select Case Touche
     Case Is = 107 '+ (plus)
            Forms.frmcontacts.DateReg = Forms.frmcontacts.DateReg + 1
     Case Is = 109 ' - (moins)
            Forms.frmcontacts.DateReg = Forms.frmcontacts.DateReg - 1
Case Else
      Exit Sub
End Select
End Sub
Merci encore Rjamin... Euh... peut être que j'abuse, mais une piste pour récupérer la date du dernier enregistrement saisi ???

Bonne soirée.

Annie
cybernini230 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2011, 13h36   #4
Membre Expert
 
Homme Robert JAMIN
Retraité
Inscription : juillet 2009
Messages : 1 223
Détails du profil
Informations personnelles :
Nom : Homme Robert JAMIN
Âge : 73
Localisation : Belgique

Informations professionnelles :
Activité : Retraité
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 223
Points : 2 022
Points : 2 022
Bonjour,

Voir du côté de fonction de domaine DLast peut-être.

Code :
Me!NomDuChamp = DLast("[NomDuChamp","NomDeLaTable")
Nom de la table qui contient le champ concerné. Attention aux guillemets ils sont obligatoires

Mais à essayer car je ne l'ai pas fait.

Edit: J'y repense maintenant, un moyen rapide pour recopier la dernière valeur du champ précédent dans le champ actuel est d'appuyer sur Ctrl+' ou sur Ctrl+"
__________________
Cordialement.

RJ
rjamin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h31.


 
 
 
 
Partenaires

Hébergement Web