Date dans access
Résolu
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
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
-
Merci, pour les infos,
Très bien
bonne journée-
-
@yg_beMerci
Bonncontinuation
-
-
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 ?-
Contributeurtu peux le vérifier facilement, par exemple en faisant
msgbox """" & Date & """"
.
cela fournit"8/2/2021"
au lieu de8/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 utiliserDefaultValue
, 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.
-
-
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'écrisDateDebut.DefaultValue = Date
il me renvoi la date du 30/12/1899.
Pourquoi être obliger d'utiliser la syntaxe particulière ?-
-
Contributeur@yg_besi 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é.
-
-
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-
-
Contributeur@yg_beas-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?
-
-
Contributeurbonjour,
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?