Date dans access

Résolu/Fermé
nrjm58 Messages postés 7 Date d'inscription lundi 8 février 2021 Statut Membre Dernière intervention 10 février 2021 - 8 févr. 2021 à 16:27
nrjm58 Messages postés 7 Date d'inscription lundi 8 février 2021 Statut Membre Dernière intervention 10 février 2021 - 10 févr. 2021 à 18:39
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

yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 Ambassadeur 1 554
8 févr. 2021 à 16:38
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?
0
nrjm58 Messages postés 7 Date d'inscription lundi 8 février 2021 Statut Membre Dernière intervention 10 février 2021
8 févr. 2021 à 16:56
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
0
yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 1 554
8 févr. 2021 à 17:18
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)
?
0
yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 1 554 > yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024
8 févr. 2021 à 17:48
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?
0
nrjm58 Messages postés 7 Date d'inscription lundi 8 février 2021 Statut Membre Dernière intervention 10 février 2021
Modifié le 8 févr. 2021 à 18:48
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 ?
0
yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 1 554
8 févr. 2021 à 18:49
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.
0
yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 1 554 > yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024
8 févr. 2021 à 18:59
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é.
0
nrjm58 Messages postés 7 Date d'inscription lundi 8 février 2021 Statut Membre Dernière intervention 10 février 2021
8 févr. 2021 à 19:00
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 ?
0
yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 1 554
8 févr. 2021 à 19:21
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nrjm58 Messages postés 7 Date d'inscription lundi 8 février 2021 Statut Membre Dernière intervention 10 février 2021
9 févr. 2021 à 08:07
Merci, pour les infos,
Très bien
bonne journée
0
yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 1 554
9 févr. 2021 à 10:50
peux-tu alors marquer la discussion comme résolue?
0
nrjm58 Messages postés 7 Date d'inscription lundi 8 février 2021 Statut Membre Dernière intervention 10 février 2021 > yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024
10 févr. 2021 à 18:39
Merci
Bonncontinuation
0