-
Format date
Bonjour,
Dans une boucle Do while not eof je traite les enregistrements d'une table Paradox qui comporte un champ DATE. Je récupére certains enregistrements et je les met dans une feuille excel pour plus tard réaliser des traitements statistiques sous excel.
Exemple de traitement dans le boucle while not eof
Feuille.Cells(L,1) := IntToStr(Table.FieldByName('Numero').AsInteger);
Feuille.Cells(L,2) := DateToStr(Table.FieldByName('DateJ').AsDateTime);
Feuille.Cells(L,3) := ......................(L sert de compteur de lignes)
Le PB est le suivant :
L'extraction fonctionne correctement, mais dans le fichier Excel je trouve des dates qui sont au format jour/mois/annee (Paramètres France) et des dates qui sont au format mois/jour/année (Param AngloSaxon).
Et ceci de façon tout a fait aléatoire
Qui a déjà rencontré ce problème et comment le résoudre?
Merci de votre aide.
Merci d'avance
-
slu,
je n'ai pas encore rencontré ce genre de probleme,mais je pense que la fonction FormatDateTime pourrait t'aider.
Code:
Feuille.Cells(L,2) := FormatDateTime('dd mm yy hh:mm AM/PM',Table.FieldByName('DateJ').AsDateTime);
A+. :D :D
-
Format date
Merci pour ta réponse mais j'avais déjà regardé la fonction FormatDateTime.
Ca ne fonctionne pas mieux.
En regardant le format des cellules dans le fichier Excel j'ai le résulat suivant: Les dates des dates françaises sont en format standard. les cellules des dates anglo saxones sont en format personnalisé jj/mm/aaaa. C'est bizarre mais c'est bien comme ça.
Existe t il une fonction qui permettrait le formattage de la cellule excel lors de la création. Qui serait du type suivant : Format????(Feuille.cells(L,1),"jj/mm/aaaa") ou approchant ?
Je pense que le pb peut venir de la table Paradox originale. Si les utilisateurs du PC sur laquelle tourne l'application, ou si une autre appli de windows, change les paramètres régionaux aurait t on ce pb? Les utilisateurs disent pourtant ne jamais y toucher!!
Cordialement
-
Est-ce que les valeurs sont mauvaises pour tous les enregistrements de certaines colonnes, ou bien sont-elles vraiment aléatoires ?
Car si c'est aléatoire, tu devrais vérifier que les champs que tu récupères au format date ne sont pas des String dans la base Paradox.
Si c'est pas ça, je vois pas pourquoi la fonction FormatDateTime ne fonctionne pas.
-
Foramt date
Effectivement les formats des dates sont disposé de façon tout à fait aléatoire dans les colonnes de la feuille Excel. Le plus souvent par série d'une cinquantaine de date au format jj/mm/aaaa suivi d'une série de date au format mm/jj/aaaa. et ceci dans les 2 colonnes qui recoivent des dates.
J'ai vérifié la structure de la table Paradox d'origine.
Les deux champs DateJ et DateFin sont bien de type Date (D).
Je cherche encore aujourd'hui puis j'aviserai avec le demandeur de cette extraction.
Cordiales salutations et merci encore de tes réponses