|
[Résolu] Format d'une date dans un combo |
|
Stagiaire WDF
Inscrit: 29/06/2007 10:42
Post(s): 12
|
Bonjour à tous, j'ai un petit soucis: J'ai une requete qui va chercher dans une bdd des dates/heure et qui les affiche dans un combo pour choisir celle voulue. Le problème est qu'il m'affiche la date comme suite de chiffres (ex: 12-06-07 12:10:00 va donner 120607121000), ce qui vraiment pas du tout explicite ... J'ai cherché dans les masques de saisie et autres formats, mais là, je bloque ... Sauriez-vous comment afficher ça correctement ? Merci
Contribution le : 10/07/2007 10:09
Edité par drcharly93 sur 11/7/2007 13:41:53
|
|
|
Re: Format d'une date dans un combo |
|
Utilisateur WDF
Inscrit: 28/06/2005 15:02
De Aurillac Cantal Auvergne
Post(s): 91
|
Si vous ne trouvez pas de solution au niveau des masques de saisie, remplissez votre combo manuellement, et formatez votre date avec DateVersChaine et HeureVersChaine !
hExecuteRequete(maRequete)
POUR TOUS maRequete
ListeAjoute(DateVersChaîne(maRequete.Date, "JJ-MM-AAAA ") + HeureVersChaine(MaRequete.Heure, "HH:MM:SS"))
FIN
Le code est tapé à la volée, il peut y avoir des petites erreurs, mais rien de grave je pense ;) Bon dev
Contribution le : 10/07/2007 11:58
|
_________________
La touche F1 est et restera toujours ta meilleure amie :p
|
|
Re: Format d'une date dans un combo |
|
ChefDeProjet WDF
Inscrit: 29/05/2007 17:03
De Sassenage
Post(s): 180
|
bonjour,
essaye dateverschaine, ou alors avec les fonctions milieu, droite et gauche:
resultat = gauche(madate,2)+ "-"+milieu(madate,3,2)+ "-"+milieu(madate,5,2)+" "+ milieu(madate,7,2)+":"+ milieu(madate,9,2)+":"+ droite(madate,2)
Contribution le : 10/07/2007 12:02
|
_________________
be aware
|
|
Re: Format d'une date dans un combo |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour, Quel est le format de stockage dans la base et de quelle base de données s'agit-il ? Apparement il ne s'agit pas de format date natif à WinDev qui Idée Créer une procédure qui va transformer la date passée en paramètre en DateHeure manipulable par WinDev et optionnellement un variable qui contiendra la valeur a afficher dans la combo. Pour la procédure
//proAfficheDateHeure (<pValue_in> est chaîne, <pDateHeure_out> est dateheure [, <pPourAffichage_out> est chaîne])
//
// Paramètres :
// pValue_in (chaîne) : Date sous la forme JJMMAAHHMMSS,JJ-MM-AA HH:MM:SS, JJ/MM/AA HH:MM:SS, JJ?MM?AA?HH?MM?SS?,etc...
// pDateHeure_out (dateheure) : variable de retour contenant la transformation en DateHeure
// pPourAffichage_out (chaîne - valeur par défaut="") : idem mais pour affichage
PROCEDURE proAfficheDateHeure(LOCAL pValue_in est une chaîne, pDateHeure_out est une DateHeure, pPourAffichage_out est une chaîne = "" )
//On enlève tous les espaces
pValue_in = Remplace( pValue_in, " ", "" )
//On enlève tous les caractères de séparation
pValue_in = Remplace( pValue_in, "-", "" )
pValue_in = Remplace( pValue_in, ":", "" )
//On renseigne une variable de type DateHeure natif à WinDev
pDateHeure_out = ChaîneVersDate( pValue_in[[ A 4]] + "20" + pValue_in[[5 A 6]], "JJMMAAAA") + pValue_in[[ 7 A ]]
//On formate pour l'affichage
pPourAffichage_out = DateVersChaîne( pDateHeure_out..PartieDate, "JJ/MM/AAAA" ) + " " + HeureVersChaîne(pDateHeure_out..PartieHeure, "HH:MM:SS" )
Pour remplir votre combo il vous suffira d'utiliser comme exemple la syntaxe suivante:
dDateHeure est une DateHeure
sDateHeure est une chaîne
proAfficheDateHeure( "12-06-07 12:10:00", dDateHeure, sDateHeure)
ListeAjoute(Combo1, sDateHeure + gLien(dDateHeure) )
proAfficheDateHeure( "13-06-07 13:10:00", dDateHeure, sDateHeure)
ListeAjoute(Combo1, sDateHeure + gLien( dDateHeure ) )
proAfficheDateHeure( "14-06-07 12:11:00", dDateHeure, sDateHeure)
ListeAjoute(Combo1, sDateHeure + gLien( dDateHeure ) )
ListeSelectPlus(Combo1,1)
a Adapter à vos besoins Pour récupérer une valeur de type DateHeure manipulable directement par WinDev Exemple de code mit dans le bloc 'Sélection d'une ligne dans combo1' la valeur retournée par la combo sera alors au format DateHeure du style AAAAMMJJHHMMSSMMM IMPOORTANTDans mon exemple la combo doit retourner la valeur du lien a activer dans l'onglet détail de la fenêtre description de 'Combo1' <gLien>
Contribution le : 10/07/2007 12:54
|
|
|
Re: Format d'une date dans un combo |
|
Stagiaire WDF
Inscrit: 29/06/2007 10:42
Post(s): 12
|
Merci à vous deux pour les réponses, j'avais essayé de partir la-dessus mais le problème est que je réutilise cette date/heure pas mal de fois dans le programme et je pense que ça va poser qqs problèmes. Par contre bofkill, je crois avoir essayé un ListeAjoute sur un combo et il m'a jetté ! Tu confirmes que ça marche pour toi ? Si oui, je tenterai et ce serait vraiment super ! @drcharly93: Ma date est une "Date et Heure" dans une base Oracle. Le problème est que mon combo est renseigné par la réponse de la requête (dans son onglet Contenu).
Contribution le : 10/07/2007 12:54
|
|
|
Re: Format d'une date dans un combo |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour,
Dans ce cas utilisez directement dans le sql la fonction adequate:
SELECT TO_CHAR(<RubDate>, 'yyyymmddhhmiss') FROM Fichier
Ainsi votre date sera retournée dans un format directement interprétable par WinDev.
Contribution le : 10/07/2007 15:28
|
|
|
Re: Format d'une date dans un combo |
|
Stagiaire WDF
Inscrit: 29/06/2007 10:42
Post(s): 12
|
C'est bon, j'ai réussi avec gLien et DateVersChaine et HeureVersChaine !
Merci à vous
Contribution le : 11/07/2007 13:13
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|