dans un formulaire j'ai créé un champ date. Format date abrégé, et un masque
de saisie 00/00/00;0;_ .
Quand je tape 666666 (66/66/66), j'ai bien un message d'erreur qui me dit
que le format date n'est pas bon. Par contre, lorsque je mets 31/09/04 (date
qui n'existe pas), access me change automatiquement à la date à la sortie de
mon champ en 04/09/1931 !!!!!
dans un formulaire j'ai créé un champ date. Format date abrégé, et un masque
de saisie 00/00/00;0;_ .
Quand je tape 666666 (66/66/66), j'ai bien un message d'erreur qui me dit
que le format date n'est pas bon. Par contre, lorsque je mets 31/09/04 (date
qui n'existe pas), access me change automatiquement à la date à la sortie de
mon champ en 04/09/1931 !!!!!
dans un formulaire j'ai créé un champ date. Format date abrégé, et un masque
de saisie 00/00/00;0;_ .
Quand je tape 666666 (66/66/66), j'ai bien un message d'erreur qui me dit
que le format date n'est pas bon. Par contre, lorsque je mets 31/09/04 (date
qui n'existe pas), access me change automatiquement à la date à la sortie de
mon champ en 04/09/1931 !!!!!
Je ne peux recrée cela...
Quelle version d'Access ? mise à jour ?
si, ça marche très bien si tu entres 31/09/04. si tu entres 310904 ça
Je ne peux recrée cela...
Quelle version d'Access ? mise à jour ?
si, ça marche très bien si tu entres 31/09/04. si tu entres 310904 ça
Je ne peux recrée cela...
Quelle version d'Access ? mise à jour ?
si, ça marche très bien si tu entres 31/09/04. si tu entres 310904 ça
Bonjour Pierre.Je ne peux recrée cela...
Quelle version d'Access ? mise à jour ?
si, ça marche très bien si tu entres 31/09/04. si tu entres 310904 ça
provoque une erreur.
il faut que j'y aille de ma plume car le JUGE ne vas pas comprendre.
d'abord, le fait d'indiquer les / veut dire que la valeur entrée doit être
considérée comme une date valide par access dans l'ordre de validité. Cet
ordre étant paramètres régionaux, date universelle, date autorisée dans un
format quelconque. 31/09/04 est une date autorisée dans un format quelconque
alors que 310904 ne l'est pas. Donc access accepte la date sous cette forme
et la transforme en première date valide rencontrée.
je continue ma prose pour le fun car le problème est le même pour la
fonction CDate.
citation ================ > "Les variables de type Date affichent les dates au format de date reconnu
par votre ordinateur.
Les formats valides comprennent le format de date indiqué par les paramètres
régionaux de votre code et le format de date universel.
La fonction CDate reconnaît les littéraux date et heure ainsi que certains
nombres appartenant à la plage de dates autorisées.
La fonction CDate reconnaît les formats de date définis dans les paramètres
régionaux de votre système. L'ordre des jours, mois et années risque de ne
pouvoir être défini si les données sont fournies dans un format différent
des paramètres de date reconnus
" fin de citation =============== > qu'en d'autres termes ces choses-là soient dites:
Il existe deux formats de date valides: la date des paramètres régionaux et
la date universelle.
C'est à dire jj/mm/aaaa et mm/dd/yyyy
règle d'évaluation d'une valeur composée:
Access évalue la valeur en format date des paramètres régionaux et si la
valeur n'est pas reconnuee elle évalue la valeur en date universelle. Si
cette dernière n'est toujours pas reconnue, access répondra
"incompatibilité de type".
faîtes un essai avec 2 champs texte Texte1 et Texte2 dans un formulaire et
entrez cette fonction vba:
Private Sub Texte1_Exit(Cancel As Integer)
Me.Texte2 = CDate(Me.Texte1)
End Sub
et regardez bien les valeurs de texte2:
10/02/2003 ---> texte2 = 10/02/2003
02/13/2003 ---> texte2 = 13/02/2003
25/31/2003 ---> incompatibilité de type
31/04/25 ------> texte2 = 25/04/1931
La valeur de texte1 est une valeur string alors que la valeur de texte2 est
une valeur date par la fonction Cdate.
Il existera toujours un doute pour le 2 mars ou le 3 fevrier, mais la valeur
composée sera toujours évaluée dans l'ordre de la méthode que j'ai indiqué
plus haut.
C'est pourquoi, vous avez intérêt de travailler avec des champs date et des
litteraux date et non avec des strings.
Toute composition correspondant à un format autorisé sera chargée telle
quelle et vous pouvez mélangez les deux types d'où l'ambiguité.
A vous de choisir votre organisation: champ texte, champ date, date
paramètres régionaux , date universelle.
Fin de prose, je vais faire ma sieste.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"3stone" a écrit dans le message de news:
Bonjour Pierre.
Je ne peux recrée cela...
Quelle version d'Access ? mise à jour ?
si, ça marche très bien si tu entres 31/09/04. si tu entres 310904 ça
provoque une erreur.
il faut que j'y aille de ma plume car le JUGE ne vas pas comprendre.
d'abord, le fait d'indiquer les / veut dire que la valeur entrée doit être
considérée comme une date valide par access dans l'ordre de validité. Cet
ordre étant paramètres régionaux, date universelle, date autorisée dans un
format quelconque. 31/09/04 est une date autorisée dans un format quelconque
alors que 310904 ne l'est pas. Donc access accepte la date sous cette forme
et la transforme en première date valide rencontrée.
je continue ma prose pour le fun car le problème est le même pour la
fonction CDate.
citation ================ > "Les variables de type Date affichent les dates au format de date reconnu
par votre ordinateur.
Les formats valides comprennent le format de date indiqué par les paramètres
régionaux de votre code et le format de date universel.
La fonction CDate reconnaît les littéraux date et heure ainsi que certains
nombres appartenant à la plage de dates autorisées.
La fonction CDate reconnaît les formats de date définis dans les paramètres
régionaux de votre système. L'ordre des jours, mois et années risque de ne
pouvoir être défini si les données sont fournies dans un format différent
des paramètres de date reconnus
" fin de citation =============== > qu'en d'autres termes ces choses-là soient dites:
Il existe deux formats de date valides: la date des paramètres régionaux et
la date universelle.
C'est à dire jj/mm/aaaa et mm/dd/yyyy
règle d'évaluation d'une valeur composée:
Access évalue la valeur en format date des paramètres régionaux et si la
valeur n'est pas reconnuee elle évalue la valeur en date universelle. Si
cette dernière n'est toujours pas reconnue, access répondra
"incompatibilité de type".
faîtes un essai avec 2 champs texte Texte1 et Texte2 dans un formulaire et
entrez cette fonction vba:
Private Sub Texte1_Exit(Cancel As Integer)
Me.Texte2 = CDate(Me.Texte1)
End Sub
et regardez bien les valeurs de texte2:
10/02/2003 ---> texte2 = 10/02/2003
02/13/2003 ---> texte2 = 13/02/2003
25/31/2003 ---> incompatibilité de type
31/04/25 ------> texte2 = 25/04/1931
La valeur de texte1 est une valeur string alors que la valeur de texte2 est
une valeur date par la fonction Cdate.
Il existera toujours un doute pour le 2 mars ou le 3 fevrier, mais la valeur
composée sera toujours évaluée dans l'ordre de la méthode que j'ai indiqué
plus haut.
C'est pourquoi, vous avez intérêt de travailler avec des champs date et des
litteraux date et non avec des strings.
Toute composition correspondant à un format autorisé sera chargée telle
quelle et vous pouvez mélangez les deux types d'où l'ambiguité.
A vous de choisir votre organisation: champ texte, champ date, date
paramètres régionaux , date universelle.
Fin de prose, je vais faire ma sieste.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"3stone" <threestone@cielreseau.be> a écrit dans le message de news:
eaTUXUptEHA.3860@TK2MSFTNGP09.phx.gbl...
Bonjour Pierre.Je ne peux recrée cela...
Quelle version d'Access ? mise à jour ?
si, ça marche très bien si tu entres 31/09/04. si tu entres 310904 ça
provoque une erreur.
il faut que j'y aille de ma plume car le JUGE ne vas pas comprendre.
d'abord, le fait d'indiquer les / veut dire que la valeur entrée doit être
considérée comme une date valide par access dans l'ordre de validité. Cet
ordre étant paramètres régionaux, date universelle, date autorisée dans un
format quelconque. 31/09/04 est une date autorisée dans un format quelconque
alors que 310904 ne l'est pas. Donc access accepte la date sous cette forme
et la transforme en première date valide rencontrée.
je continue ma prose pour le fun car le problème est le même pour la
fonction CDate.
citation ================ > "Les variables de type Date affichent les dates au format de date reconnu
par votre ordinateur.
Les formats valides comprennent le format de date indiqué par les paramètres
régionaux de votre code et le format de date universel.
La fonction CDate reconnaît les littéraux date et heure ainsi que certains
nombres appartenant à la plage de dates autorisées.
La fonction CDate reconnaît les formats de date définis dans les paramètres
régionaux de votre système. L'ordre des jours, mois et années risque de ne
pouvoir être défini si les données sont fournies dans un format différent
des paramètres de date reconnus
" fin de citation =============== > qu'en d'autres termes ces choses-là soient dites:
Il existe deux formats de date valides: la date des paramètres régionaux et
la date universelle.
C'est à dire jj/mm/aaaa et mm/dd/yyyy
règle d'évaluation d'une valeur composée:
Access évalue la valeur en format date des paramètres régionaux et si la
valeur n'est pas reconnuee elle évalue la valeur en date universelle. Si
cette dernière n'est toujours pas reconnue, access répondra
"incompatibilité de type".
faîtes un essai avec 2 champs texte Texte1 et Texte2 dans un formulaire et
entrez cette fonction vba:
Private Sub Texte1_Exit(Cancel As Integer)
Me.Texte2 = CDate(Me.Texte1)
End Sub
et regardez bien les valeurs de texte2:
10/02/2003 ---> texte2 = 10/02/2003
02/13/2003 ---> texte2 = 13/02/2003
25/31/2003 ---> incompatibilité de type
31/04/25 ------> texte2 = 25/04/1931
La valeur de texte1 est une valeur string alors que la valeur de texte2 est
une valeur date par la fonction Cdate.
Il existera toujours un doute pour le 2 mars ou le 3 fevrier, mais la valeur
composée sera toujours évaluée dans l'ordre de la méthode que j'ai indiqué
plus haut.
C'est pourquoi, vous avez intérêt de travailler avec des champs date et des
litteraux date et non avec des strings.
Toute composition correspondant à un format autorisé sera chargée telle
quelle et vous pouvez mélangez les deux types d'où l'ambiguité.
A vous de choisir votre organisation: champ texte, champ date, date
paramètres régionaux , date universelle.
Fin de prose, je vais faire ma sieste.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"3stone" a écrit dans le message de news:
Merci pour ces éclaircissement mais cela ne résoud pas mon problème. Je
n'ai
donc aucun moyen pour que j'ai un message d'erreur pour le 31/09/04. dans
tous les cas, Access me ramenera 04/09/1931.
Je suis vraime,t dans la m..... Mon client va me faire la peau.
Merci pour ces éclaircissement mais cela ne résoud pas mon problème. Je
n'ai
donc aucun moyen pour que j'ai un message d'erreur pour le 31/09/04. dans
tous les cas, Access me ramenera 04/09/1931.
Je suis vraime,t dans la m..... Mon client va me faire la peau.
Merci pour ces éclaircissement mais cela ne résoud pas mon problème. Je
n'ai
donc aucun moyen pour que j'ai un message d'erreur pour le 31/09/04. dans
tous les cas, Access me ramenera 04/09/1931.
Je suis vraime,t dans la m..... Mon client va me faire la peau.
alors que 310904 ne l'est pas. Donc access accepte la date sous cette forme
et la transforme en première date valide rencontrée.
alors que 310904 ne l'est pas. Donc access accepte la date sous cette forme
et la transforme en première date valide rencontrée.
alors que 310904 ne l'est pas. Donc access accepte la date sous cette forme
et la transforme en première date valide rencontrée.
Erreur, Monsieur le Juge.
Commence par mettre un masque de saisie à 00/00/0000 au lieu de 00/00/00 ce
qui va déjà éliminer 100% des erreurs, dont le 31/09/04, car tu vas ainsi
indiquer qu'il faut que la date soit conforme aux paramètres régionaux ou à
la date universelle et non aux dates autorisées. Tu peux encore rajouter des
tests de validité personnels sur l'événement AfterUpdate du contrôle.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"JUGE Cédric" a écrit dans le message
de news:Merci pour ces éclaircissement mais cela ne résoud pas mon problème. Je
n'ai
donc aucun moyen pour que j'ai un message d'erreur pour le 31/09/04. dans
tous les cas, Access me ramenera 04/09/1931.
Je suis vraime,t dans la m..... Mon client va me faire la peau.
Erreur, Monsieur le Juge.
Commence par mettre un masque de saisie à 00/00/0000 au lieu de 00/00/00 ce
qui va déjà éliminer 100% des erreurs, dont le 31/09/04, car tu vas ainsi
indiquer qu'il faut que la date soit conforme aux paramètres régionaux ou à
la date universelle et non aux dates autorisées. Tu peux encore rajouter des
tests de validité personnels sur l'événement AfterUpdate du contrôle.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"JUGE Cédric" <JUGECdric@discussions.microsoft.com> a écrit dans le message
de news: EDF368B4-CC7A-4711-BCC8-705F892F4155@microsoft.com...
Merci pour ces éclaircissement mais cela ne résoud pas mon problème. Je
n'ai
donc aucun moyen pour que j'ai un message d'erreur pour le 31/09/04. dans
tous les cas, Access me ramenera 04/09/1931.
Je suis vraime,t dans la m..... Mon client va me faire la peau.
Erreur, Monsieur le Juge.
Commence par mettre un masque de saisie à 00/00/0000 au lieu de 00/00/00 ce
qui va déjà éliminer 100% des erreurs, dont le 31/09/04, car tu vas ainsi
indiquer qu'il faut que la date soit conforme aux paramètres régionaux ou à
la date universelle et non aux dates autorisées. Tu peux encore rajouter des
tests de validité personnels sur l'événement AfterUpdate du contrôle.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"JUGE Cédric" a écrit dans le message
de news:Merci pour ces éclaircissement mais cela ne résoud pas mon problème. Je
n'ai
donc aucun moyen pour que j'ai un message d'erreur pour le 31/09/04. dans
tous les cas, Access me ramenera 04/09/1931.
Je suis vraime,t dans la m..... Mon client va me faire la peau.
Salut Raymond,
"Raymond [mvp]"
[...]alors que 310904 ne l'est pas. Donc access accepte la date sous cette
forme
et la transforme en première date valide rencontrée.
Raymond, un champ défini date, avec dans le formulaire le masque
donné par le JUGE, la saisie "effectivement" réalisée est bien
310904
et dans ce cas, Access me dit que la valeur est trop grand et blabla...
et il ne corrige PAS en 04/09/31 !!!
C'est pourquoi j'ai demandé:
"Je ne peux recrée cela...
Quelle version d'Access ? mise à jour ?"
question que je répète... :-)
Salut Raymond,
"Raymond [mvp]"
[...]
alors que 310904 ne l'est pas. Donc access accepte la date sous cette
forme
et la transforme en première date valide rencontrée.
Raymond, un champ défini date, avec dans le formulaire le masque
donné par le JUGE, la saisie "effectivement" réalisée est bien
310904
et dans ce cas, Access me dit que la valeur est trop grand et blabla...
et il ne corrige PAS en 04/09/31 !!!
C'est pourquoi j'ai demandé:
"Je ne peux recrée cela...
Quelle version d'Access ? mise à jour ?"
question que je répète... :-)
Salut Raymond,
"Raymond [mvp]"
[...]alors que 310904 ne l'est pas. Donc access accepte la date sous cette
forme
et la transforme en première date valide rencontrée.
Raymond, un champ défini date, avec dans le formulaire le masque
donné par le JUGE, la saisie "effectivement" réalisée est bien
310904
et dans ce cas, Access me dit que la valeur est trop grand et blabla...
et il ne corrige PAS en 04/09/31 !!!
C'est pourquoi j'ai demandé:
"Je ne peux recrée cela...
Quelle version d'Access ? mise à jour ?"
question que je répète... :-)
pour le format 00/00/0000 effectivement ca marche mais mon client ne veut
pas
se taper les 4 digits de l'année (il a plusieurs saisie à faire à la
suite).
Effectivement, je peux mettre des tests en sortie de champ, mais je vais
partir sur un sacré délire, je vais être obligé de tester mois / mois et
il y
a toujours le pb de février et des années bissextiles !!!!
Je ne suis pas sorti des ronces.
pour le format 00/00/0000 effectivement ca marche mais mon client ne veut
pas
se taper les 4 digits de l'année (il a plusieurs saisie à faire à la
suite).
Effectivement, je peux mettre des tests en sortie de champ, mais je vais
partir sur un sacré délire, je vais être obligé de tester mois / mois et
il y
a toujours le pb de février et des années bissextiles !!!!
Je ne suis pas sorti des ronces.
pour le format 00/00/0000 effectivement ca marche mais mon client ne veut
pas
se taper les 4 digits de l'année (il a plusieurs saisie à faire à la
suite).
Effectivement, je peux mettre des tests en sortie de champ, mais je vais
partir sur un sacré délire, je vais être obligé de tester mois / mois et
il y
a toujours le pb de février et des années bissextiles !!!!
Je ne suis pas sorti des ronces.