Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Horas en DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=47496)

bustio 29-08-2007 21:25:20

Horas en DBGrid
 
Hola a todos. Esta pregunta que hago estoy seguro que ya alguien la hizo.. pero como ahora es tan repesado buscar en los foros decidi ponerla de cualquer manera. Tengo una BD en ACCESS 2007 qe tiene un campo tipo TIME y en el guardo una hora. La hora es esta: '13:00:00' y yo uso delphi 7. Desde mi aplicacion y con un ADOTABLE conecto la tabla a mi DBGRID mediante un ADODATASET. Ahora bien... en el campo FECHA de mi dbgrid, en vez de salirme 13:00:00 me sale esto: 30/12/1899 13:00:00. Alguien sabe como puedo formatear la salida de los datos para que el DBGRID me muestre solo la hora y no la fecha??

Caral 29-08-2007 21:37:27

Hola
Me parece que hay información en los foros de este asunto, de todas maneras creo que lo tendrías que hacer es usar:
Código Delphi [-]
FormatDateTime('hh:nn',Time);
Revisa bien, es cuestión de paciencia y se encuentran las soluciones.
Saludos

Chris 29-08-2007 21:52:02

Lo que comenta caral lo tienes lo puedes hacer cuando pintas manualmente la grilla. Si no quieres pintarla o no lo haces puedes utilizar un codigo como este:

Código Delphi [-]
Procedure TForm1.FormCreate(sender : Tobject);
Begin
{cuando se crea el formulario}
mitabla.FieldByName('campoHora').DisplayFormat := 'hh:nn am/pm';
end;

bustio 30-08-2007 15:31:56

No me funciona
 
Hola a todos.. gracias por sus respuestas pero hay una cosa qeu no me funciona. Cuando dices mitabla.xxxxxxx te refieres a un ADOTABLE conectado a una tabla en la BD? por qeu si es asi puesya lo hice y no me funciono. Me dice que el metodo DisplayFormat no pertenece a FieldByName. Puedes darme mas detalles???
Procedure TForm1.FormCreate(sender : Tobject);Begin{cuando se crea el formulario}mitabla.FieldByName('campoHora').DisplayFormat := 'hh:nn am/pm';end;

Chris 30-08-2007 17:21:48

disculpame
 
Revisé y me dí cuenta que el código que te habia dado no estaba completo, esta es la forma en que debes de escribirlo.

Código Delphi [-]
Procedure TForm1.FormCreate(sender : Tobject);
Begin
{Este código se ejecuta cuando se crea el formulario}
TTimeField(mitabla.FieldByName('campoHora')).DisplayFormat := 'hh:nn am/pm';
end;


"MiTabla" es el nombre del componente ADOTable, es un nombre que te doy como ejemplo.
El procedimiento es FormCreate que se ejecuta cuando se crea el formulario en donde está el componente ADOTable

saldanaluis 06-09-2007 19:03:15

Otra manera alterna para el formato
 
Otra manera diferente sería el utilizar el editor de campos del DBGrid, posicionarse en el campo de la hora, y en las propiedades del campo ponerle el DisplayFormat.
Así mismo, se puede hacer en el editor de campos del DataSet.
Espero te sea de utilidad.


La franja horaria es GMT +2. Ahora son las 02:33:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi