econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 2008
-
10 juin 2005 à 10:36
eowyn_
Messages postés1Date d'inscriptionlundi 19 juin 2006StatutMembreDernière intervention19 juin 2006
-
19 juin 2006 à 15:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
eowyn_
Messages postés1Date d'inscriptionlundi 19 juin 2006StatutMembreDernière intervention19 juin 2006 19 juin 2006 à 15:31
Salut,
pour ton problème d'inversion jour:année, tu dois remplacer
DatePandore = Right(mydate, 2) & "/" & Mid(mydate, 5, 2) & "/" & Left(mydate, 4)
par
DatePandore = Left(mydate, 2) & "/" & Mid(mydate, 3, 2) & "/" & Right(mydate, 4)
enfin... je crois :)
erramiahmed
Messages postés1Date d'inscriptionjeudi 31 juillet 2003StatutMembreDernière intervention19 juillet 2005 19 juil. 2005 à 16:08
Salut, j'ai utilisé votre fonction dans un module MS Access. J'extrais des dates ( plus d'autres données ) à partir d'un fichier texte et je stock le tout dans une table. Mais j'ai un petit problème, la date une fois stockée le jour se transforme en année et l'année en jour (exemple "30/06/2005" ---> 05/06/1930 !!! ).
La requete utilisée a l'allure suivante :
DoCmd.RunSql " insert into ... values (" & date & "," & ... & ")".
Dernière chose : la fonction integrée à Access nommée CDate fait exactement la même tâche.
yan35
Messages postés185Date d'inscriptiondimanche 29 juin 2003StatutMembreDernière intervention20 juin 2013 10 juin 2005 à 11:07
Tu pouvais aussi faire :
Public Function DatePandore(mydate As String) As Date
'Conversion au format date
On Error GoTo err_Date
If IsNull(mydate) Then
DatePandore = ""
Else
DatePandore = Format(mydate, "0000\/00\/00")
End If
Exit Function
err_Date:
MsgBox "L'erreur suivante :" & vbCrLf & Err.Number & " " & Err.Description & vbCrLf & _
"s'est produite dans la fonction DatePandore", vbCritical, "NetJoao"
End Function
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 10 juin 2005 à 10:36
En 2 lignes de moins. Le Resume sur le label exit_err ne sert à rien. Après le traitement d'erreur, c'est la ligne 'End Function' qui est interprétée, et donc on sort de la fonction. Pas besoin de faire un Goto sur le label exit_err puis de sortir par 'Exit Function'.
Bref, une optimisation de 2 lignes :o)
1. Public Function DatePandore(mydate As string) as Date
2. 'Conversion au format date
3. On Error GoTo err_Date
4. If IsNull(mydate) Then
5. DatePandore = ""
6. Else
7. DatePandore = Right(mydate, 2) & "/" & Mid(mydate, 5, 2) & "/" & Left(mydate, 4)
8. End If
10. Exit Function
11. err_Date:
12. MsgBox "L'erreur suivante :" & vbCrLf & Err.Number & " " & Err.Description & vbCrLf & _
13. "s'est produite dans la fonction DatePandore", vbCritical, "NetJoao"
15. End Function
19 juin 2006 à 15:31
pour ton problème d'inversion jour:année, tu dois remplacer
DatePandore = Right(mydate, 2) & "/" & Mid(mydate, 5, 2) & "/" & Left(mydate, 4)
par
DatePandore = Left(mydate, 2) & "/" & Mid(mydate, 3, 2) & "/" & Right(mydate, 4)
enfin... je crois :)
19 juil. 2005 à 16:08
La requete utilisée a l'allure suivante :
DoCmd.RunSql " insert into ... values (" & date & "," & ... & ")".
Dernière chose : la fonction integrée à Access nommée CDate fait exactement la même tâche.
10 juin 2005 à 11:07
Public Function DatePandore(mydate As String) As Date
'Conversion au format date
On Error GoTo err_Date
If IsNull(mydate) Then
DatePandore = ""
Else
DatePandore = Format(mydate, "0000\/00\/00")
End If
Exit Function
err_Date:
MsgBox "L'erreur suivante :" & vbCrLf & Err.Number & " " & Err.Description & vbCrLf & _
"s'est produite dans la fonction DatePandore", vbCritical, "NetJoao"
End Function
10 juin 2005 à 10:36
Bref, une optimisation de 2 lignes :o)
1. Public Function DatePandore(mydate As string) as Date
2. 'Conversion au format date
3. On Error GoTo err_Date
4. If IsNull(mydate) Then
5. DatePandore = ""
6. Else
7. DatePandore = Right(mydate, 2) & "/" & Mid(mydate, 5, 2) & "/" & Left(mydate, 4)
8. End If
10. Exit Function
11. err_Date:
12. MsgBox "L'erreur suivante :" & vbCrLf & Err.Number & " " & Err.Description & vbCrLf & _
13. "s'est produite dans la fonction DatePandore", vbCritical, "NetJoao"
15. End Function