Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/04/2006, 10h53   #1
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Par défaut [forms 6i] lov contenant une date triée en ordre descendant

Salut tout le monde,

Sous forms 6i je souhaiterais afficher dans une lov une date triée par ordre décroissant et ayant le masque de format 'DD/MM/YYYY'.

Ce masque de format est pratique à l'affichage mais il a l'inconvénient de ne pas retourner les données dans le même ordre que si l'on fait un :
Code :
ORDER BY <colonne_type_date> DESC
J'ai essayé la requête suivante :
Code :
1
2
3
4
5
6
7
SELECT   DISTINCT TO_CHAR(B2360.AV_DATE,'DD/MM/YYYY'),
         AV_DATE
FROM     B2360
WHERE    B2360.AV_DATE LIKE '%'
AND      B2360.AV_ACTI = '0'
GROUP BY SUBSTR( TO_CHAR(B2360.AV_DATE,'DD/MM/YYYY'), 1, 10 ), av_date
ORDER BY AV_DATE DESC
mais la colonne AV_DATE contient des dates différentes si l'on considère les heures, minutes et secondes :
Citation:
19/04/2006 08:20:55
19/04/2006 08:20:54
Par conséquent, cette requête me duplique certaines dates.

D'où ma question : comment afficher mes données avec ce masque de format et les trier comme je le souhaite.

Merci d'avance.
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 11h14   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Tu peux faire comme cela par exemple :
Code :
1
2
3
4
5
6
SELECT   DISTINCT TO_CHAR(B2360.AV_DATE,'DD/MM/YYYY'),
         trunc(AV_DATE)
FROM     B2360
WHERE    B2360.AV_DATE LIKE '%'
AND      B2360.AV_ACTI = '0'
ORDER BY trunc(AV_DATE) DESC
NB : le group by me semble inutile puisque tu fais un distinct[/LEFT]
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2006, 11h29   #3
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Citation:
Envoyé par plaineR
Tu peux faire comme cela par exemple :
Code :
1
2
3
4
5
6
SELECT   DISTINCT TO_CHAR(B2360.AV_DATE,'DD/MM/YYYY'),
         trunc(AV_DATE)
FROM     B2360
WHERE    B2360.AV_DATE LIKE '%'
AND      B2360.AV_ACTI = '0'
ORDER BY trunc(AV_DATE) DESC
Effectivement, je cherchais encore à compliquer...

Citation:
Envoyé par plaineR
NB : le group by me semble inutile puisque tu fais un distinct[/LEFT]
Erreur de copier-coller.

Merci plaineR
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h29.


 
 
 
 
Partenaires

Hébergement Web