[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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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'
Info(Combo1)

la valeur retournée par la combo sera alors au format DateHeure du style AAAAMMJJHHMMSSMMM

IMPOORTANT
Dans 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
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer


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
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


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
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


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.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2