Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 08/12/2011, 16h45   #1
Futur Membre du Club
 
Inscription : août 2009
Messages : 72
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 72
Points : 19
Points : 19
Par défaut Condition sur changement de date

Bonjour,

Dans un formulaire j'ai un champ "Date-V1" que je souhaiterais augmenter d'un an si je coche une case (C-V1) au format "oui/non".
J'ai écrit un code VBA sur le champ "Date V1" (Après MAJ)
Code :
1
2
3
4
5
Private Sub C_Date_V1_AfterUpdate()
If Me.C_V1 = True Then
Me.C_Date_V1 = DateAdd("yyyy", 1, #1/1/2003#)
End If
End Sub
Mais ça ne fonctionne pas. Pourriez-vous m'aider à résoudre ce problème ?

Avec mes remerciements,
Ortiz
ortiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 10h14   #2
Membre du Club
 
Développeur informatique
Inscription : décembre 2008
Messages : 43
Détails du profil
Informations personnelles :
Âge : 49

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2008
Messages : 43
Points : 46
Points : 46
Salut,

Essaie de mettre ce code dans l'Event AfterUpdate de C-V1 au lieu de C-Date-V1.

a+
NguyenRD est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2011, 14h58   #3
Membre du Club
 
Inscription : mars 2007
Messages : 112
Détails du profil
Informations personnelles :
Âge : 37

Informations forums :
Inscription : mars 2007
Messages : 112
Points : 60
Points : 60
Bonjour,

Ton code tu dois le mettre sur l'évenement Click de ta Case à Cocher.

Code :
1
2
3
4
5
6
 
Private Sub C_V1_Click()
     If Me.C_V1 = True Then
          Me.C_Date_V1 = DateAdd("yyyy", 1, #1/1/2003#)
     End If
End Sub
Voici ton résultat : 01/01/2004.

Par contre, si tu laisse cette valeur dans ton code #1/1/2003#, tu obtiendras toujours le même résultat
nefertari est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 16h53   #4
Futur Membre du Club
 
Inscription : août 2009
Messages : 72
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 72
Points : 19
Points : 19
Bonjour,

Effectivement ça fonctionne mieux sur la case à cocher.

J'avais trouver ce code dans un FAQ access (http://access.developpez.com/faq/?page=dates#dateAdd) "Comment ajouter des jours, des mois ou des années à une date ?".

Mais ce que je souhaiterais c'est que la date inscrite dans mon champ Date V1, qui n'est pas toujours la même suivant mes clients, augmente d'un an: si 01/06/2012 ça devient 01/06/2013, si 01/11/2012 ça devient 01/11/2013 etc... Or avec ce code je suis obligé de mettre une date (exemple: #01/01/2013#) et si j'écris
Code :
Me.C_Date_V1 = DateAdd("yyyy", 1)
ça ne fonctionne pas.

Donc comment pourrais-je écrire ce code ?

Merci de votre aide

Cordialement,
Ortiz
ortiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 17h46   #5
Candidat au titre de Membre du Club
 
Homme Olivier
Administrateur de base de données
Inscription : août 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 21
Points : 11
Points : 11
Il faut que tu mette la date à laquelle tu veux ajouter un an.

Code :
1
2
 
Me.C_Date_V1 = DateAdd("yyyy", 1, C_Date_V1)
Pour la syntaxe de DateAdd fais un F1 dessus
forges est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2011, 10h45   #6
Futur Membre du Club
 
Inscription : août 2009
Messages : 72
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 72
Points : 19
Points : 19
Bonjour,

Ok ça fonctionne très bien.
C'est ce que j'avais écris mais avec des [] ou des ", et ça ne fonctionnait pas.

Merci à tous de votre aide

Cordialement
ortiz 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 01h03.


 
 
 
 
Partenaires

Hébergement Web