Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

tri sur des dates format texte

3 réponses
Avatar
christian82
Bonjour à tous,
Dans une table, j'ai des dates au format texte "00/00/0000", imposé pour
exporter au format csv vers une autre base de données. L'export se fait en
deux temps: requête création de table pour extraire les données à exporter,
et de là export au format texte csv.
Le problème est que lors d'un tri croissant, la requête classe d'abord les
jours (tous les 1, puis tous les 2,...) ensuite les mois et enfin l'année.
Comment faire pour trier ces dates par ordre chronologique croissant?

J'ai bien essayé de donner le format date/heure à ce champs, ce qui résoud
le problème du tri, mais alors comment passser automatiquement du format
date/heure au format texte lors de l'export vers la table transitoire? (j'y
arrive en bidouillant le format après export ... )
Merci de votre aide toujours efficace.
--
Christian

3 réponses

Avatar
Raymond [mvp]
Bonjour.

lorsque tu fais ta requête de création de table tu peux bien rajouter 3
champ indépendants non inclus que tu ne prendras pas dans la table.
exemple:
SELECT table1.* INTO essais
FROM table1
ORDER BY Mid([Madate],7,4), Mid([Madate],4,2), Mid([Madate],1,2);

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
l'abonnement TechNet !
http://www.microsoft.com/france/technet/presentation/cd/default.mspx


"christian82" a écrit dans le
message de news:
| Bonjour à tous,
| Dans une table, j'ai des dates au format texte "00/00/0000", imposé pour
| exporter au format csv vers une autre base de données. L'export se fait en
| deux temps: requête création de table pour extraire les données à
exporter,
| et de là export au format texte csv.
| Le problème est que lors d'un tri croissant, la requête classe d'abord les
| jours (tous les 1, puis tous les 2,...) ensuite les mois et enfin l'année.
| Comment faire pour trier ces dates par ordre chronologique croissant?
|
| J'ai bien essayé de donner le format date/heure à ce champs, ce qui résoud
| le problème du tri, mais alors comment passser automatiquement du format
| date/heure au format texte lors de l'export vers la table transitoire?
(j'y
| arrive en bidouillant le format après export ... )
| Merci de votre aide toujours efficace.
| --
| Christian
Avatar
LR
Bonjour,

Il faut distinguer le FORMAT d'un champ et le TYPE DE DONNEES du champ.

Ton champ devrait être au de type DATE, puis dans une requête tu pourrais
trier les données sur ce champ (le tri est alors chronologique comme
souhaité) et exporter un champ formaté (du texte, donc), par exemple avec une
expression Format ([champ_date];"jj/mm/aaaa").

Si tu gardes le champ de ta table au format texte (mais ce n'est pas
optimal), tu peux trier les données sur l'expression CDate([champ_datetext])
par exemple


Bonjour à tous,
Dans une table, j'ai des dates au format texte "00/00/0000", imposé pour
exporter au format csv vers une autre base de données. L'export se fait en
deux temps: requête création de table pour extraire les données à exporter,
et de là export au format texte csv.
Le problème est que lors d'un tri croissant, la requête classe d'abord les
jours (tous les 1, puis tous les 2,...) ensuite les mois et enfin l'année.
Comment faire pour trier ces dates par ordre chronologique croissant?

J'ai bien essayé de donner le format date/heure à ce champs, ce qui résoud
le problème du tri, mais alors comment passser automatiquement du format
date/heure au format texte lors de l'export vers la table transitoire? (j'y
arrive en bidouillant le format après export ... )
Merci de votre aide toujours efficace.
--
Christian


Avatar
christian82
Merci à vous deux, doublement même puisque j'ai plusieurs solutios
proposées.:-))
--
Christian



Bonjour,

Il faut distinguer le FORMAT d'un champ et le TYPE DE DONNEES du champ.

Ton champ devrait être au de type DATE, puis dans une requête tu pourrais
trier les données sur ce champ (le tri est alors chronologique comme
souhaité) et exporter un champ formaté (du texte, donc), par exemple avec une
expression Format ([champ_date];"jj/mm/aaaa").

Si tu gardes le champ de ta table au format texte (mais ce n'est pas
optimal), tu peux trier les données sur l'expression CDate([champ_datetext])
par exemple


Bonjour à tous,
Dans une table, j'ai des dates au format texte "00/00/0000", imposé pour
exporter au format csv vers une autre base de données. L'export se fait en
deux temps: requête création de table pour extraire les données à exporter,
et de là export au format texte csv.
Le problème est que lors d'un tri croissant, la requête classe d'abord les
jours (tous les 1, puis tous les 2,...) ensuite les mois et enfin l'année.
Comment faire pour trier ces dates par ordre chronologique croissant?

J'ai bien essayé de donner le format date/heure à ce champs, ce qui résoud
le problème du tri, mais alors comment passser automatiquement du format
date/heure au format texte lors de l'export vers la table transitoire? (j'y
arrive en bidouillant le format après export ... )
Merci de votre aide toujours efficace.
--
Christian