TStringGrid et date [Résolu]

Signaler
Messages postés
43
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 avril 2005
-
Messages postés
43
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 avril 2005
-
Bonjour,
J'utilise un TStringGrid pour récupérer des données d'une base en SQL Server via une procédure stockée. Tout se passe bien. Avec le TADOStoredProc, il y a moyen de préciser le "displayformat" de la date (chose faite), mais j'ai un problème avec l'affichage dans le stringgrid qui est de type : dd/mm/yyyy hh:mm:ss. Cmt éviter l'affichage des h m s?
Merci à tous
A voir également:

7 réponses

Messages postés
1725
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
11 avril 2021
8
Je viens d'écrire une connerie... :dissapprove)

Je voulais dire, soit tu arrives à récupérer ta date sous le format DateTime dans ta base, et là tu fais comme expliqué plus haut, cad :

SgTrt.Cells[col,0] := FormatDateTime('ddddd', TaDateAuFormatDateTime);


Sinon, si tu ne peux la récupérer qu'en String sous la forme "dd/mm/yyyy hh:mm:ss" :

SgTrt.Cells[col,0] := Copy(datamodule1.ProcStoAffDetailsTrtDate.Text, 1, 8);


Mais bon, il doit y avoir plus élégant comme méthode, non ?

Bonne prog' :-p
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Hello,

Si tu reformates ta date avant de l'incorporer dans ton stringrid ca devrait fonctionner. La commande est FormatDateTime('d' + '/' + 'm' + '/' + 'yyyy', TaDate)

Tiens moi au courant.

++,
JMP.
Messages postés
43
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 avril 2005

Merci de te donner la peine de répondre, mais ou dois-je utiliser FormatDateTime?

Voici la partie de mon code ou je récupère la date et l'affiche dans le stringgrid :

(...)
while(valcour <> index)do
begin
SgTrt.Cells[col,0] := datamodule1.ProcStoAffDetailsTrtDate.Text;
(...)

J'ai essayé plusieurs choses mais je ne trouve pas. C'est idiot, non?
Messages postés
1725
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
11 avril 2021
8
Si la valeur que tu récupères dans ta base est bien de forme DateTime, comme il semblerait, essaye :

SgTrt.Cells[col,0] := FormatDateTime('ddddd', datamodule1.ProcStoAffDetailsTrtDate.Text);


Ca devrait marcher ?

Bonne prog' :-p
Messages postés
43
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 avril 2005

Merci bcp, ça marche
Messages postés
1725
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
11 avril 2021
8
Content que ça marche, piscine, mais quelle solution : la première, la deuxième, ou les deux ??? :big)

Bonne prog' :-p
Messages postés
43
Date d'inscription
mardi 23 septembre 2003
Statut
Membre
Dernière intervention
13 avril 2005

Bonjour,

la deuxieme solution en remplacant 8 par 10 :

SgTrt.Cells[col,0] := Copy(datamodule1.ProcStoAffDetailsTrtDate.Text, 1, 10);

je me suis dis que je récupérais la date en string, donc j'ai essayé la 2ème.

encore merci mais j'aurai encore d'autres questions a poser... :blush)