J'ai quelque pb avec acces et sa gestion des dates. ;
Comme je travaille avec des fonctions vba qui sont appellées par des evenement de formulair
et que le formulaire est créé dynamiquement
les dates sont modifiées au petit bonheur la chanc
J'aimerai pouvoir travailler avec des dates toujours au meme format et pas me prendre la tete à savoir si c'est en fr ou us
J'utilse Clong mais ça ne marche pas à tous les coups, la mise entre #date# ne marche pas mieux
Si il y a une solution pour traiter des dates toujours sous le meme format, ça serait genial
Merci si vous avez une solution presque miracle ou me proposer les bonnes régles de conduite à suivr
les dates sont modifiées au petit bonheur la chance
pas vraimant... ;-)
J'aimerai pouvoir travailler avec des dates toujours au meme format et pas me prendre la tete à savoir si c'est en fr ou us.
Dans ce cas, utilise *toujours* le format US lorsque TU les manipulent...
J'utilse Clong mais ça ne marche pas à tous les coups, la mise entre #date# ne marche pas mieux.
#date# spécifie que Access *doit* considérer cette date comme au format US, mais, à toi de veiller a ce qu'elle le soit
Merci si vous avez une solution presque miracle ou me proposer les bonnes régles de conduite à suivre
Ne pas imaginer que si la date est définie FR dans la table que le VBA respecte ce choix... Il n'y a que "l'interface" qui... parle FR... pas le VBA, ni le SQL (eux, c'est US) !
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"joyeux atchoum"
les dates sont modifiées au petit bonheur la chance
pas vraimant... ;-)
J'aimerai pouvoir travailler avec des dates toujours au meme format et pas me prendre la tete à
savoir si c'est en fr ou us.
Dans ce cas, utilise *toujours* le format US lorsque TU les manipulent...
J'utilse Clong mais ça ne marche pas à tous les coups, la mise entre #date# ne marche pas mieux.
#date# spécifie que Access *doit* considérer cette date comme au format US,
mais, à toi de veiller a ce qu'elle le soit
Merci si vous avez une solution presque miracle ou me proposer les bonnes régles de conduite à
suivre
Ne pas imaginer que si la date est définie FR dans la table que le VBA respecte ce choix...
Il n'y a que "l'interface" qui... parle FR... pas le VBA, ni le SQL (eux, c'est US) !
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
les dates sont modifiées au petit bonheur la chance
pas vraimant... ;-)
J'aimerai pouvoir travailler avec des dates toujours au meme format et pas me prendre la tete à savoir si c'est en fr ou us.
Dans ce cas, utilise *toujours* le format US lorsque TU les manipulent...
J'utilse Clong mais ça ne marche pas à tous les coups, la mise entre #date# ne marche pas mieux.
#date# spécifie que Access *doit* considérer cette date comme au format US, mais, à toi de veiller a ce qu'elle le soit
Merci si vous avez une solution presque miracle ou me proposer les bonnes régles de conduite à suivre
Ne pas imaginer que si la date est définie FR dans la table que le VBA respecte ce choix... Il n'y a que "l'interface" qui... parle FR... pas le VBA, ni le SQL (eux, c'est US) !
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
joyeux atchoum
S'lt ou plutot bonsoir
J'aimerai pouvoir travailler avec des dates toujours au meme format et pas me prendre la tete à savoir si c'est en fr ou us.
Dans ce cas, utilise *toujours* le format US lorsque TU les manipulent... c'est ce qui me semblait le plus logique mais ....
en vba je créé un form set frm = createform je definit une zone de texte dans lequel j'associe une fonction vba sur l'événement click
dim Jour as date dim ctlzdt as control
ctlzdt.OnClick = "=InsererOperation("& Jour & ")" ou ctlzdt.OnClick = "=InsererOperation(#" jour & "#)"
et une fonction appellée via l'évenement : Sub InsererOperation(unJour as Date)
les 2 définition du OnClick n'ont pas le meme comportement, dans le premier cas il me francise Jour alors que je ne lui est rien demandé et dans le 2° cas il me met la date en yy/mm/dd (je dis de tête mais l'année est en premier) Le passage par Clng puis par un Cdate dans la fonction me permet d'eviter ces desagrément mais c'est pas le panard :)
J'utilse Clong mais ça ne marche pas à tous les coups, la mise entre #date# ne marche pas mieux. #date# spécifie que Access *doit* considérer cette date comme au format US,
ok je prend note de la réelle utilité de ## :), je ne savais pas en quel format etait considérée la date
Ne pas imaginer que si la date est définie FR dans la table que le VBA respecte ce choix... Il n'y a que "l'interface" qui... parle FR... pas le VBA, ni le SQL (eux, c'est US) !
Mais j'ai bien l'impression que "l'interface" oublie de parler comme je l'entends et le US me vas tres bien je le parle trés bien pour les dates :)
Merci encore pour ce complément d'information
ja qui devrait penser à aller dormir ;)
S'lt ou plutot bonsoir
J'aimerai pouvoir travailler avec des dates toujours au meme format et pas me prendre la tete à
savoir si c'est en fr ou us.
Dans ce cas, utilise *toujours* le format US lorsque TU les manipulent...
c'est ce qui me semblait le plus logique mais ....
en vba je créé un form
set frm = createform
je definit une zone de texte dans lequel j'associe une fonction vba sur l'événement click
dim Jour as date
dim ctlzdt as control
ctlzdt.OnClick = "=InsererOperation("& Jour & ")"
ou
ctlzdt.OnClick = "=InsererOperation(#" jour & "#)"
et une fonction appellée via l'évenement :
Sub InsererOperation(unJour as Date)
les 2 définition du OnClick n'ont pas le meme comportement, dans le premier cas il me francise Jour alors que je ne lui est rien demandé et dans le 2° cas il me met la date en yy/mm/dd (je dis de tête mais l'année est en premier)
Le passage par Clng puis par un Cdate dans la fonction me permet d'eviter ces desagrément mais c'est pas le panard :)
J'utilse Clong mais ça ne marche pas à tous les coups, la mise entre #date# ne marche pas mieux.
#date# spécifie que Access *doit* considérer cette date comme au format US,
ok je prend note de la réelle utilité de ## :), je ne savais pas en quel format etait considérée la date
Ne pas imaginer que si la date est définie FR dans la table que le VBA respecte ce choix...
Il n'y a que "l'interface" qui... parle FR... pas le VBA, ni le SQL (eux, c'est US) !
Mais j'ai bien l'impression que "l'interface" oublie de parler comme je l'entends et le US me vas tres bien je le parle trés bien pour les dates :)
J'aimerai pouvoir travailler avec des dates toujours au meme format et pas me prendre la tete à savoir si c'est en fr ou us.
Dans ce cas, utilise *toujours* le format US lorsque TU les manipulent... c'est ce qui me semblait le plus logique mais ....
en vba je créé un form set frm = createform je definit une zone de texte dans lequel j'associe une fonction vba sur l'événement click
dim Jour as date dim ctlzdt as control
ctlzdt.OnClick = "=InsererOperation("& Jour & ")" ou ctlzdt.OnClick = "=InsererOperation(#" jour & "#)"
et une fonction appellée via l'évenement : Sub InsererOperation(unJour as Date)
les 2 définition du OnClick n'ont pas le meme comportement, dans le premier cas il me francise Jour alors que je ne lui est rien demandé et dans le 2° cas il me met la date en yy/mm/dd (je dis de tête mais l'année est en premier) Le passage par Clng puis par un Cdate dans la fonction me permet d'eviter ces desagrément mais c'est pas le panard :)
J'utilse Clong mais ça ne marche pas à tous les coups, la mise entre #date# ne marche pas mieux. #date# spécifie que Access *doit* considérer cette date comme au format US,
ok je prend note de la réelle utilité de ## :), je ne savais pas en quel format etait considérée la date
Ne pas imaginer que si la date est définie FR dans la table que le VBA respecte ce choix... Il n'y a que "l'interface" qui... parle FR... pas le VBA, ni le SQL (eux, c'est US) !
Mais j'ai bien l'impression que "l'interface" oublie de parler comme je l'entends et le US me vas tres bien je le parle trés bien pour les dates :)
Merci encore pour ce complément d'information
ja qui devrait penser à aller dormir ;)
3stone
Salut ja,
"joyeux atchoum"
dim Jour as date dim ctlzdt as control
ctlzdt.OnClick = "=InsererOperation("& Jour & ")" ou ctlzdt.OnClick = "=InsererOperation(#" jour & "#)"
dans le premier cas, tu "laisse faire"... avec ses conséquences... et dans le second, tu lui dit que 'jour' est une date au format US or, elle ne l'est pas si tes paramètres régionaux la défini FR
Mais j'ai bien l'impression que "l'interface" oublie de parler comme je l'entends et le US me vas tres bien je le parle trés bien pour les dates :)
L'interface 'parle' selon ce que tu demande dans les paramètres régionaux...
Le plus simple pour nous, est de toujours utiliser une fonction du style "DateUS(Ladate)" qui te ramène *toujours* la date dans le format US.
Mais, il y a plus simple... Tu installe un Windows anglais, Office anglais et fini les emm*****
;-))
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut ja,
"joyeux atchoum"
dim Jour as date
dim ctlzdt as control
ctlzdt.OnClick = "=InsererOperation("& Jour & ")"
ou
ctlzdt.OnClick = "=InsererOperation(#" jour & "#)"
dans le premier cas, tu "laisse faire"... avec ses conséquences...
et dans le second, tu lui dit que 'jour' est une date au format US
or, elle ne l'est pas si tes paramètres régionaux la défini FR
Mais j'ai bien l'impression que "l'interface" oublie de parler comme je l'entends et le US me vas
tres bien je le parle trés bien pour les dates :)
L'interface 'parle' selon ce que tu demande dans les paramètres régionaux...
Le plus simple pour nous, est de toujours utiliser une fonction du style "DateUS(Ladate)"
qui te ramène *toujours* la date dans le format US.
Mais, il y a plus simple...
Tu installe un Windows anglais, Office anglais et fini les emm*****
;-))
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
ctlzdt.OnClick = "=InsererOperation("& Jour & ")" ou ctlzdt.OnClick = "=InsererOperation(#" jour & "#)"
dans le premier cas, tu "laisse faire"... avec ses conséquences... et dans le second, tu lui dit que 'jour' est une date au format US or, elle ne l'est pas si tes paramètres régionaux la défini FR
Mais j'ai bien l'impression que "l'interface" oublie de parler comme je l'entends et le US me vas tres bien je le parle trés bien pour les dates :)
L'interface 'parle' selon ce que tu demande dans les paramètres régionaux...
Le plus simple pour nous, est de toujours utiliser une fonction du style "DateUS(Ladate)" qui te ramène *toujours* la date dans le format US.
Mais, il y a plus simple... Tu installe un Windows anglais, Office anglais et fini les emm*****
;-))
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
joyeux atchoum
S'lt 3stone
ctlzdt.OnClick = "=InsererOperation("& Jour & ")" ou ctlzdt.OnClick = "=InsererOperation(#" jour & "#)"
et dans le second, tu lui dit que 'jour' est une date au format US or, elle ne l'est pas si tes paramètres régionaux la défini FR
oki
L'interface 'parle' selon ce que tu demande dans les paramètres régionaux... oki
Le plus simple pour nous, est de toujours utiliser une fonction du style "DateUS(Ladate)" qui te ramène *toujours* la date dans le format US.
une fonction dans le genre ? : Function USDate(dDate As Date) If Not IsDate(dDate) Then Exit Function USDate = Month(dDate) & "/" & Day(dDate) & "/" & Year(dDate) End Function
Mais, il y a plus simple... Tu installe un Windows anglais, Office anglais et fini les emm*****
Effectivement la vie serait belle .... mais il faudrait en plus parler l'anglais, ça fait un peu trop pour mes méninges :)
Merci pour ces infos
ja qui surfe sur les dates .... glouglou
S'lt 3stone
ctlzdt.OnClick = "=InsererOperation("& Jour & ")"
ou
ctlzdt.OnClick = "=InsererOperation(#" jour & "#)"
et dans le second, tu lui dit que 'jour' est une date au format US
or, elle ne l'est pas si tes paramètres régionaux la défini FR
oki
L'interface 'parle' selon ce que tu demande dans les paramètres régionaux...
oki
Le plus simple pour nous, est de toujours utiliser une fonction du style "DateUS(Ladate)"
qui te ramène *toujours* la date dans le format US.
une fonction dans le genre ? :
Function USDate(dDate As Date)
If Not IsDate(dDate) Then Exit Function
USDate = Month(dDate) & "/" & Day(dDate) & "/" & Year(dDate)
End Function
Mais, il y a plus simple...
Tu installe un Windows anglais, Office anglais et fini les emm*****
Effectivement la vie serait belle .... mais il faudrait en plus parler l'anglais, ça fait un peu trop pour mes méninges :)
ctlzdt.OnClick = "=InsererOperation("& Jour & ")" ou ctlzdt.OnClick = "=InsererOperation(#" jour & "#)"
et dans le second, tu lui dit que 'jour' est une date au format US or, elle ne l'est pas si tes paramètres régionaux la défini FR
oki
L'interface 'parle' selon ce que tu demande dans les paramètres régionaux... oki
Le plus simple pour nous, est de toujours utiliser une fonction du style "DateUS(Ladate)" qui te ramène *toujours* la date dans le format US.
une fonction dans le genre ? : Function USDate(dDate As Date) If Not IsDate(dDate) Then Exit Function USDate = Month(dDate) & "/" & Day(dDate) & "/" & Year(dDate) End Function
Mais, il y a plus simple... Tu installe un Windows anglais, Office anglais et fini les emm*****
Effectivement la vie serait belle .... mais il faudrait en plus parler l'anglais, ça fait un peu trop pour mes méninges :)
Merci pour ces infos
ja qui surfe sur les dates .... glouglou
3stone
Salut,
"joyeux atchoum"
une fonction dans le genre ? : 1) Function USDate(dDate As Date) 2) If Not IsDate(dDate) Then Exit Function 3) USDate = Month(dDate) & "/" & Day(dDate) & "/" & Year(dDate) End Function
Presque... ;-)
Ligne 1) Ton "dDate As Date" est dangereux... Si la valeur passée à la fonction est une valeur NULL, pas de date, rien... tu obtiens une erreur en définissant "dDate" en temps que Date ! Il faut donc le déclarer Variant (qui seul accepte les NULL )
Ligne 2) Le test est incorrect... Puisque, si la valeur passée à la fonction n'est pas une date valide, tu obtient déjà l'erreur à cause de ta déclaration (voir 1) En fait, c'est ici que tu doit tester le NULL
Ligne 3) C'est ici que tu doit retourner une chaîne au format "date US valide" sans oublier les "#"
Ce qui nous fait au final :
Function USDate(ByVal d As Variant) If IsNull(d) Then Exit Function USDate = "#" & Month(d) & "/" & Day(d) & "/" & Year(d) & "#" End Function
Et à chaque fois que dans le VBA ou le SQL tu manipule des dates, tu utilise le...
USDate(MaDate) = ....
et roule Marcel, heu.... ja ;-)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"joyeux atchoum"
une fonction dans le genre ? :
1) Function USDate(dDate As Date)
2) If Not IsDate(dDate) Then Exit Function
3) USDate = Month(dDate) & "/" & Day(dDate) & "/" & Year(dDate)
End Function
Presque... ;-)
Ligne 1)
Ton "dDate As Date" est dangereux...
Si la valeur passée à la fonction est une valeur NULL, pas de date, rien...
tu obtiens une erreur en définissant "dDate" en temps que Date !
Il faut donc le déclarer Variant (qui seul accepte les NULL )
Ligne 2)
Le test est incorrect...
Puisque, si la valeur passée à la fonction n'est pas une date valide,
tu obtient déjà l'erreur à cause de ta déclaration (voir 1)
En fait, c'est ici que tu doit tester le NULL
Ligne 3)
C'est ici que tu doit retourner une chaîne au format "date US valide"
sans oublier les "#"
Ce qui nous fait au final :
Function USDate(ByVal d As Variant)
If IsNull(d) Then Exit Function
USDate = "#" & Month(d) & "/" & Day(d) & "/" & Year(d) & "#"
End Function
Et à chaque fois que dans le VBA ou le SQL tu manipule des dates, tu utilise le...
USDate(MaDate) = ....
et roule Marcel, heu.... ja ;-)
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
une fonction dans le genre ? : 1) Function USDate(dDate As Date) 2) If Not IsDate(dDate) Then Exit Function 3) USDate = Month(dDate) & "/" & Day(dDate) & "/" & Year(dDate) End Function
Presque... ;-)
Ligne 1) Ton "dDate As Date" est dangereux... Si la valeur passée à la fonction est une valeur NULL, pas de date, rien... tu obtiens une erreur en définissant "dDate" en temps que Date ! Il faut donc le déclarer Variant (qui seul accepte les NULL )
Ligne 2) Le test est incorrect... Puisque, si la valeur passée à la fonction n'est pas une date valide, tu obtient déjà l'erreur à cause de ta déclaration (voir 1) En fait, c'est ici que tu doit tester le NULL
Ligne 3) C'est ici que tu doit retourner une chaîne au format "date US valide" sans oublier les "#"
Ce qui nous fait au final :
Function USDate(ByVal d As Variant) If IsNull(d) Then Exit Function USDate = "#" & Month(d) & "/" & Day(d) & "/" & Year(d) & "#" End Function
Et à chaque fois que dans le VBA ou le SQL tu manipule des dates, tu utilise le...
USDate(MaDate) = ....
et roule Marcel, heu.... ja ;-)
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
joyeux atchoum
S'lt (et bon reveillon)
une fonction dans le genre ? : Presque... ;-)
:) faut bien que je me remette doucement à acccess
merci pour ces 3 points de complément qui permettent d'obtenir cette superbe formule :
Ce qui nous fait au final :
Function USDate(ByVal d As Variant) If IsNull(d) Then Exit Function
USDate = "#" & Month(d) & "/" & Day(d) & "/" & Year(d) & "#" End Function
Et à chaque fois que dans le VBA ou le SQL tu manipule des dates, tu utilise le... USDate(MaDate) = ....
et roule Marcel, heu.... ja ;-)
mdr :) et je teste de ce pas, je vais bien y arriver :)
merci encore
ja qui se dit que l'espoir fait vivre ....
S'lt (et bon reveillon)
une fonction dans le genre ? :
Presque... ;-)
:) faut bien que je me remette doucement à acccess
merci pour ces 3 points de complément qui permettent d'obtenir cette superbe formule :
Ce qui nous fait au final :
Function USDate(ByVal d As Variant)
If IsNull(d) Then Exit Function
USDate = "#" & Month(d) & "/" & Day(d) & "/" & Year(d) & "#"
End Function
Et à chaque fois que dans le VBA ou le SQL tu manipule des dates, tu utilise le...
USDate(MaDate) = ....
et roule Marcel, heu.... ja ;-)
mdr :)
et je teste de ce pas, je vais bien y arriver :)
:) faut bien que je me remette doucement à acccess
merci pour ces 3 points de complément qui permettent d'obtenir cette superbe formule :
Ce qui nous fait au final :
Function USDate(ByVal d As Variant) If IsNull(d) Then Exit Function
USDate = "#" & Month(d) & "/" & Day(d) & "/" & Year(d) & "#" End Function
Et à chaque fois que dans le VBA ou le SQL tu manipule des dates, tu utilise le... USDate(MaDate) = ....
et roule Marcel, heu.... ja ;-)
mdr :) et je teste de ce pas, je vais bien y arriver :)
merci encore
ja qui se dit que l'espoir fait vivre ....
joyeux atchoum
S'lt
Je reviens à la charge car maintenant je suis persuader qu'il y a un truc qui merde sisi. Je suis sous access 97. Je donne un extrait du code (en esperant que ça aidera à la compréhension) :) J'ai mis ceci comme fonction de traitement de date: Function USDate(ByVal d As Variant) If IsNull(d) Or "#" = Left(d, 1) Then USDate = d Exit Function End If USDate = "#" & Month(d) & "/" & Day(d) & "/" & Year(d) & "#" Debug.Print USDate End Function
maintenant lors dans mon code je créé un controle avec gestion d'évenement ctlEtiquette.OnClick = "=ouvrirInsererOperation(" & USDate(Jour) & "," & id_Personnel & ")"
si je fais debug print j'obtiens bien une chaine de caractére avec une date au format US encadré de # or si je regarde en mode création le formulaire et la propriété du controle, j'ai une date au format Fr encadré de #
d'ou les erreurs à repétition par la suite.
Une idée ?
merci ja ;)
qui s'obstine dans ses date
S'lt
Je reviens à la charge car maintenant je suis persuader qu'il y a un truc qui merde sisi.
Je suis sous access 97. Je donne un extrait du code (en esperant que ça aidera à la compréhension) :)
J'ai mis ceci comme fonction de traitement de date:
Function USDate(ByVal d As Variant)
If IsNull(d) Or "#" = Left(d, 1) Then
USDate = d
Exit Function
End If
USDate = "#" & Month(d) & "/" & Day(d) & "/" & Year(d) & "#"
Debug.Print USDate
End Function
maintenant lors dans mon code je créé un controle avec gestion d'évenement
ctlEtiquette.OnClick = "=ouvrirInsererOperation(" & USDate(Jour) & "," & id_Personnel & ")"
si je fais debug print j'obtiens bien une chaine de caractére avec une date au format US encadré de #
or si je regarde en mode création le formulaire et la propriété du controle, j'ai une date au format Fr encadré de #
Je reviens à la charge car maintenant je suis persuader qu'il y a un truc qui merde sisi. Je suis sous access 97. Je donne un extrait du code (en esperant que ça aidera à la compréhension) :) J'ai mis ceci comme fonction de traitement de date: Function USDate(ByVal d As Variant) If IsNull(d) Or "#" = Left(d, 1) Then USDate = d Exit Function End If USDate = "#" & Month(d) & "/" & Day(d) & "/" & Year(d) & "#" Debug.Print USDate End Function
maintenant lors dans mon code je créé un controle avec gestion d'évenement ctlEtiquette.OnClick = "=ouvrirInsererOperation(" & USDate(Jour) & "," & id_Personnel & ")"
si je fais debug print j'obtiens bien une chaine de caractére avec une date au format US encadré de # or si je regarde en mode création le formulaire et la propriété du controle, j'ai une date au format Fr encadré de #
d'ou les erreurs à repétition par la suite.
Une idée ?
merci ja ;)
qui s'obstine dans ses date
3stone
re,
"joyeux atchoum"
Je reviens à la charge car maintenant je suis persuader qu'il y a un truc qui merde sisi.
tu le cherche un peu *beaucoup* , aussi ;-))
Function USDate(ByVal d As Variant) If IsNull(d) Or "#" = Left(d, 1) Then USDate = d Exit Function End If
J'imagine simplement un date qui arrive sous le format ( " TON " format, serait plus juste ;)
#jj/mm/aaaa# et que fait tu, TOI ???
tu dis, OK, et tu le remballe en disant, "c'est bon !"
Et bien NON, c'est pas bon !!!!
Alors, dans une expression, un test... soit tu utilise la fonction et tu fout la paix a tous le monde avec tes "#" soit, tu ne l'utilise pas, et tu gère à chaque fois, par toi même, la mise en forme US et "#" y compris !!!!
PS: Pour cette année, je laisse tomber les (tes) dates ;-))
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
re,
"joyeux atchoum"
Je reviens à la charge car maintenant je suis persuader qu'il y a un truc qui merde sisi.
tu le cherche un peu *beaucoup* , aussi ;-))
Function USDate(ByVal d As Variant)
If IsNull(d) Or "#" = Left(d, 1) Then
USDate = d
Exit Function
End If
J'imagine simplement un date qui arrive sous le format ( " TON " format, serait plus juste ;)
#jj/mm/aaaa# et que fait tu, TOI ???
tu dis, OK, et tu le remballe en disant, "c'est bon !"
Et bien NON, c'est pas bon !!!!
Alors, dans une expression, un test...
soit tu utilise la fonction et tu fout la paix a tous le monde avec tes "#"
soit, tu ne l'utilise pas, et tu gère à chaque fois, par toi même, la mise en forme US et "#" y
compris !!!!
PS: Pour cette année, je laisse tomber les (tes) dates ;-))
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Je reviens à la charge car maintenant je suis persuader qu'il y a un truc qui merde sisi.
tu le cherche un peu *beaucoup* , aussi ;-))
Function USDate(ByVal d As Variant) If IsNull(d) Or "#" = Left(d, 1) Then USDate = d Exit Function End If
J'imagine simplement un date qui arrive sous le format ( " TON " format, serait plus juste ;)
#jj/mm/aaaa# et que fait tu, TOI ???
tu dis, OK, et tu le remballe en disant, "c'est bon !"
Et bien NON, c'est pas bon !!!!
Alors, dans une expression, un test... soit tu utilise la fonction et tu fout la paix a tous le monde avec tes "#" soit, tu ne l'utilise pas, et tu gère à chaque fois, par toi même, la mise en forme US et "#" y compris !!!!
PS: Pour cette année, je laisse tomber les (tes) dates ;-))
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
joyeux atchoum
S'lt
desolé de te gonfler mais bon comme j'utilise à tous les coups la fonction usdate si en court de route je dois la retraiter le test avec # evite d'avoir une erreur de type avec la suite.
mais la remarque sur la gestion d'evenement est la meme mais, ça marche toutefois. j'ai bien au final une date compatible sql.
enfin, j'arrete d'insister et on conclut la dessus.
ja qui souhaite un bon reveillon :)
S'lt
desolé de te gonfler
mais bon comme j'utilise à tous les coups la fonction usdate
si en court de route je dois la retraiter le test avec # evite d'avoir une erreur de type avec la suite.
mais la remarque sur la gestion d'evenement est la meme mais, ça marche toutefois. j'ai bien au final une date compatible sql.
enfin, j'arrete d'insister et on conclut la dessus.
desolé de te gonfler mais bon comme j'utilise à tous les coups la fonction usdate si en court de route je dois la retraiter le test avec # evite d'avoir une erreur de type avec la suite.
mais la remarque sur la gestion d'evenement est la meme mais, ça marche toutefois. j'ai bien au final une date compatible sql.
enfin, j'arrete d'insister et on conclut la dessus.
ja qui souhaite un bon reveillon :)
3stone
re,
"joyeux atchoum"
desolé de te gonfler
c'est dégonflé ;-))
mais bon comme j'utilise à tous les coups la fonction usdate si en court de route je dois la retraiter le test avec # evite d'avoir une erreur de type avec la suite.
non, fausse déduction...
Un bécane avec paramètre régionaux (PR) fr ou autre...
Un champ MaDate dans une table sera sauvé à la "méthode Access" (tu t'en fout) - si tu n'a pas spécifié de format d'affichage, Access te la "montrera" selon les PR. - si tu fixe un format d'affichage, Access utilisera celui-ci pour te "montrer" ta date Comme Access est sympa, tu *peux* spécifier ce format directement dans la table, ou plus tard... dans une zone de texte dans le formulaire ou l'état.
Personnellement, je ne spécifie un format de date que le plus tard possible, lorsque le format des PR ne me convient plus...
Reprennons: Lors d'une comparaison, test, VBA ou SQL, tu vas utiliser le champ [MaTable].[MaDate] que tu vas comparer à une... [autre_date]...
Pour que cela se passe bien, cette [autre_date] à intérêt à être présentée dans un format date valide, d'où la nécessité des "#" devant et derrière (à la place de guillemets pour les string) de plus, il faut lui présenter cette date au format US (donc mm/jj/aaaa )
Ce qui deviens (je te fait grâce des "If" et autre "Then" :)
[MaTable].[MaDate] = #mm/jj/aaaa#
ou, en utilisant la fonction :
[MaTable].[MaDate] = USDate([autre_date])
Comme tu peux constater, en aucun moment, une date ne devrait arriver à la fonction avec un "#" comme caractère faissant partie intégrale d'une date. Sauf si tu "stocke" une date dans une variable de type string... ;-(
Bonne année 2004 et aussi... bonne *fin* d'année 2003 ;-))))
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
re,
"joyeux atchoum"
desolé de te gonfler
c'est dégonflé ;-))
mais bon comme j'utilise à tous les coups la fonction usdate
si en court de route je dois la retraiter le test avec # evite d'avoir une erreur de type avec la
suite.
non, fausse déduction...
Un bécane avec paramètre régionaux (PR) fr ou autre...
Un champ MaDate dans une table sera sauvé à la "méthode Access" (tu t'en fout)
- si tu n'a pas spécifié de format d'affichage, Access te la "montrera" selon les PR.
- si tu fixe un format d'affichage, Access utilisera celui-ci pour te "montrer" ta date
Comme Access est sympa, tu *peux* spécifier ce format directement dans la table,
ou plus tard... dans une zone de texte dans le formulaire ou l'état.
Personnellement, je ne spécifie un format de date que le plus tard possible,
lorsque le format des PR ne me convient plus...
Reprennons:
Lors d'une comparaison, test, VBA ou SQL, tu vas utiliser le champ [MaTable].[MaDate]
que tu vas comparer à une... [autre_date]...
Pour que cela se passe bien, cette [autre_date] à intérêt à être présentée dans un format
date valide, d'où la nécessité des "#" devant et derrière (à la place de guillemets pour les string)
de plus, il faut lui présenter cette date au format US (donc mm/jj/aaaa )
Ce qui deviens (je te fait grâce des "If" et autre "Then" :)
[MaTable].[MaDate] = #mm/jj/aaaa#
ou, en utilisant la fonction :
[MaTable].[MaDate] = USDate([autre_date])
Comme tu peux constater, en aucun moment, une date ne devrait arriver
à la fonction avec un "#" comme caractère faissant partie intégrale d'une date.
Sauf si tu "stocke" une date dans une variable de type string... ;-(
Bonne année 2004
et aussi... bonne *fin* d'année 2003 ;-))))
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
mais bon comme j'utilise à tous les coups la fonction usdate si en court de route je dois la retraiter le test avec # evite d'avoir une erreur de type avec la suite.
non, fausse déduction...
Un bécane avec paramètre régionaux (PR) fr ou autre...
Un champ MaDate dans une table sera sauvé à la "méthode Access" (tu t'en fout) - si tu n'a pas spécifié de format d'affichage, Access te la "montrera" selon les PR. - si tu fixe un format d'affichage, Access utilisera celui-ci pour te "montrer" ta date Comme Access est sympa, tu *peux* spécifier ce format directement dans la table, ou plus tard... dans une zone de texte dans le formulaire ou l'état.
Personnellement, je ne spécifie un format de date que le plus tard possible, lorsque le format des PR ne me convient plus...
Reprennons: Lors d'une comparaison, test, VBA ou SQL, tu vas utiliser le champ [MaTable].[MaDate] que tu vas comparer à une... [autre_date]...
Pour que cela se passe bien, cette [autre_date] à intérêt à être présentée dans un format date valide, d'où la nécessité des "#" devant et derrière (à la place de guillemets pour les string) de plus, il faut lui présenter cette date au format US (donc mm/jj/aaaa )
Ce qui deviens (je te fait grâce des "If" et autre "Then" :)
[MaTable].[MaDate] = #mm/jj/aaaa#
ou, en utilisant la fonction :
[MaTable].[MaDate] = USDate([autre_date])
Comme tu peux constater, en aucun moment, une date ne devrait arriver à la fonction avec un "#" comme caractère faissant partie intégrale d'une date. Sauf si tu "stocke" une date dans une variable de type string... ;-(
Bonne année 2004 et aussi... bonne *fin* d'année 2003 ;-))))
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------