Date dans access

Résolu
nrjm58 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
nrjm58 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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   Statut Membre Dernière intervention  
 
Merci, pour les infos,
Très bien
bonne journée
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
peux-tu alors marquer la discussion comme résolue?
0
nrjm58 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci
Bonncontinuation
0