Date dans access [Résolu]

Signaler
Messages postés
7
Date d'inscription
lundi 8 février 2021
Statut
Membre
Dernière intervention
10 février 2021
-
Messages postés
7
Date d'inscription
lundi 8 février 2021
Statut
Membre
Dernière intervention
10 février 2021
-
Bonjour,

Est ce que quelqu'un pourrait me dire pourquoi je suis obligé dans VBA Access d'écrire les dates sous ce format et à quoi cela correspond. """" & date & """".
Merci de vos réponses

A bientôt

5 réponses

Messages postés
14289
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 février 2021
804
bonjour,
peux-tu montrer ton code?
pourquoi penses-tu être obligé de faire cela?
veux-tu dire que cela fonctionne de cette manière et que tu n'en connais pas d'autre?
qu'essaies-tu de réaliser?
Messages postés
7
Date d'inscription
lundi 8 février 2021
Statut
Membre
Dernière intervention
10 février 2021

Bonjour yg_be

Private Sub Commande44_Click()

DateDebut.DefaultValue = """" & Date & """"
DateFin.DefaultValue = """" & Date & """"

End Sub

Si je ne mets pas de """" Access me retourne une erreur.

Comme cela ca marche très bien mais je veux savoir pourquoi.

Merci
Messages postés
14289
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 février 2021
804
quelle erreur reçois-tu en essayant quoi exactement?

tu ne nous expliques pas ce que sont DateDebut et DateFin.

as-tu essayé:
DateDebut.DefaultValue = cstr(date)
?
Messages postés
14289
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 février 2021
804 >
Messages postés
14289
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 février 2021

as-tu bien compris à quoi servait
.DefaultValue
?
pourquoi fais-tu cela par VBA plutôt que de le faire dans la définition du formulaire?
ce que tu précises comme
.DefaultValue
est évalué par Access quand tu crées un nouvel enregistrement via le formulaire. si tu précises 2/4, Access va calculer un demi.
si tu veux que Access y mette la date, il faut faire ainsi:
.DefaultValue = "=date()"

et c'est beaucoup plus simple de le faire via la définition du formulaire, non?
Messages postés
7
Date d'inscription
lundi 8 février 2021
Statut
Membre
Dernière intervention
10 février 2021

Datedebut et DateFin sont des champs dans un formulaire qui permettent de renseigné une requête pour gérer des dates de formations.

Dans un formulaire j'ai créé 3 boutons qui renseignent DateDébut et DateFin

1) date du jour pour les deux Champs (DateDebut et DateFin)
DateDebut.DefaultValue = """" & Date & """"
DateFin.DefaultValue = """" & Date & """"

2) date d'hier pour les deux Champs (Datedebut et DateFin)
DateDebut.DefaultValue = """" & Date - 1 & """"
DateFin.DefaultValue = """" & Date - 1 & """"

3) DateDébut = date du jour et DateFin = date du jour + 9
DateDebut.DefaultValue = """" & Date & """"""
DateFin.DefaultValue = """" & Date + 9 & """"


Ca marche très bien avec cette syntaxe DateDebut.DefaultValue = """" & Date & """"

Si j'écris
DateDebut.DefaultValue = Date
il me renvoi la date du 30/12/1899.
Pourquoi être obliger d'utiliser la syntaxe particulière ?
Messages postés
14289
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 février 2021
804
alors je ne comprends pas pourquoi tu utilises
DefaultValue
au lieu de
Value
.
DateDebut.Value = date

c'est parce que as choisi d'utiliser
DefaultValue
que tu dois ainsi en préciser la valeur.
Messages postés
14289
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 février 2021
804 >
Messages postés
14289
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 février 2021

si tu précises
DateDebut.DefaultValue = Date, tu donnes à Access comme DefaultValue: 8/2/2021.
Comme c'est une DefaultValue et pas une Value, il fait ensuite le calcul, 8 divisé par 2 divisé par 2021.
Il obtient une valeur numérique.
Tu n'expliques pas comment cette valeur numérique est transformée en date.
DateDebut est-il un contrôle de type TextBox? tu n'as pas expliqué précisément ce que c'était ni comment il était affiché.
Messages postés
7
Date d'inscription
lundi 8 février 2021
Statut
Membre
Dernière intervention
10 février 2021

Merci pour tes renseignement en effet en passant par valeur directement il y a pas besoins des guillemets

Pourquoi DefaultValue ? Parce que dans un autre formulaire de saisie de données, j'utilise beaucoup DefaultValue pour éviter les refrappes. J'ai reprise les même code pour ce formulaire.

Ca sert à quoi les Symbole """"" & avant et après la date dans DafaultValue ?
Messages postés
14289
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 février 2021
804
tu peux le vérifier facilement, par exemple en faisant
msgbox """" & Date & """"
.
cela fournit
"8/2/2021"
au lieu de
8/2/2021
.
et donc Access ne va pas faire le calcul de DefaultValue, puisqu'il voit bien que c'est une chaine de caractères.

si tu veux utiliser
DefaultValue
, fais ainsi, comme j'ai expliqué en #':
.DefaultValue = "=date()"
.DefaultValue = "=date() - 1 "
.DefaultValue = "=date() + 9"


je pense qu'il n'est utile d'utiliser DefaultValue en VBA que dans un formulaire en continu, si DefaultValue est dynamique et ne peut pas être défini (via une formule) dans le formulaire.
ici, tu n'es pas dans un formulaire en continu.
Messages postés
7
Date d'inscription
lundi 8 février 2021
Statut
Membre
Dernière intervention
10 février 2021

Merci, pour les infos,
Très bien
bonne journée
Messages postés
14289
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 février 2021
804
peux-tu alors marquer la discussion comme résolue?
Messages postés
7
Date d'inscription
lundi 8 février 2021
Statut
Membre
Dernière intervention
10 février 2021
>
Messages postés
14289
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 février 2021

Merci
Bonncontinuation