|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 4 ![]() |
bonjour, j'ai importé dans une base de donnée access un fichier texte qui comprenait un champ "date"
Après avoir travaillé longement avec cette base de données je suis amené a utiliser les valeurs de ce champs date. Or j'ai remarqué que la date est présentée comme suit dans ma table: 4082010 (pour 4/08/2010) ou encore 12072010 pour 12/07/2010 comment faire pour mettre a jour tous les champs pour qu'ils soit présenté correctement? (JJ/MM/AAAA) Merci bcp |
|
|
00
|
|
|
#2 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 445 ![]() |
Quel est le type du champ dans la table, c'est du texte ou un entier long ?
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 4 ![]() |
c'est un entier long
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : août 2006 Messages : 1 435 ![]() |
Bonsoir,
rien empêche de créer un champ supplementaire qui recueillera la date grâce à une requête Mise à jour |
|
|
00
|
|
|
#5 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 445 ![]() |
OK, je te propose une solution mais il faudra que tu vérifie que le mois a bien été traité.
0) Sauvegarder ta BD 1) créer un champ date dans la table. 2) créer une requête de mise à jour (update) 3) dans la ligne MAJ du champ date : dateserial(right(cstr([TonChampDateNum]),4), mid(format$([TonChampDateNum],"00000000"),3,2), left((format$([TonChampDateNum],"00000000"),2)) Si cela ne passe pas remplacer le , par des ;. Un mot d'epxlication : dateSerial() créer une date à partir de l'année, mois et du jour. Donc pour l'année : je récupère les 4 derniers chiffres du nombre pour le mois : je force le nombre à 8 chiffres puis je prend les caractères 3 et 4 pour le jour : je force le nombre à 8 chiffres puis je prend les 2 premiers caractères A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 4 ![]() |
j'ai tout bien essayé mais ca marche pas
voilà la querry DateSerial (Right(CStr([MinOfMinOfinvoice_date]);4); Mid( Format$([MinOfMinOfinvoice_date]; "00000000" ) ;3; 2; ); Left (( Format$( [MinOfMinOfinvoice_date]; "00000000" ) ;2)) et voilà le message d'erreur : the expression you entered has a function containing the wrong number of arguments (avec la dernière parenthèse en surbrillance (j'ai essayé en rajoutant une parenthèse car je croyais qu'il en manquait une mais rien à faire... merci qd même pour l'aide |
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 174 ![]() |
Bonjour thomaspaul1985,
Cette requête devrait fonctionner : Code sql :
Avec "date" étant ton "entier long" et "date_1" en format "date". "Mid" correspond à la fonction "Extracchaîne" accessible par l'assistant (décidément, très pratique, soi dit en passant). L'important étant de repérer 1012010 (len=7), le transformer en 01012010 (len=8), pour le re-transformer en 01/01/2010 valide, en final, pour un champ date.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 4 ![]() |
ca a marché :d
un tout grand merci a vous, je crois que je reviendrai ;-) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com