Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Problema con campo fecha Access (https://www.clubdelphi.com/foros/showthread.php?t=77300)

rocolza 12-01-2012 20:54:29

Problema con campo fecha Access
 
Hola,

Tengo una base de datos en Acess con una tabla que resta FechaMayor-FechaMenor = Duracion. Duracion es un campo calculado de access que esta expresado como (ShortTime) y funciona correctamente. Cuando lo presento en Delphi 7 en un DBGrid me muestra el formato fecha hora :mad: les coloco el ejemplo

System Value Format Show
Access 02/01/2012 10:35 am ShortTime 10:35
Delphi 02/01/2012 10:35 am hh:mm 02/01/2012 10:35 am


Nota: el formato hh:mm lo coloque en el DisplayFormat de la tabla y nada :eek:

Ayuda Please

Caral 12-01-2012 21:56:27

Hola
La verdad no entiendo.
seria bueno ver el programa.
Saludos

rocolza 12-01-2012 21:59:31

Gracias

No hay mucho que ver del codigo ya que lo unico que tengo son los componentes, como les comente una tabla con un campo fecha que cuando lo muestro me sale como decimal y aunque le aplique un DisplayFormat HH:MM sigo viendo el 6,4222343

Casimiro Noteví 12-01-2012 21:59:36

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración.

Caral 12-01-2012 22:02:36

Hola
Aunque te parezca poca cosa, al no estar en frente de tu ordenador ayuda mucho ver lo que as hecho.
La verdad es que como no entiendo mejor pregunto.
Tambien puedes poner el codigo, pero me imagino que lo estas haciendo via componente (adoTable) sin mas.
Saludos

rocolza 12-01-2012 22:16:46

Si lo que tengo es una consulta, que realiza una suma de tiempos y me retorna lo siguiente:

Datamodule1.SPSumATPU.Close;
Datamodule1.SPSumATPU.Parameters[0].Value:= strtoint(main.StatusBar1.Panels.Items[1].Text);
Datamodule1.SPSumATPU.Parameters[1].Value:= DBLookupComboBox1.Text;
Datamodule1.SPSumATPU.ExecProc;
Datamodule1.SPSumATPU.Open;

el resultado en access es:

Duration -> 16:35

y en delphi lo que veo es -> 0.6951 pero yo quiero verlo en horas y minutos

Mil Gracias

Caral 12-01-2012 22:24:28

Hola
Como dije, no lo entiendo por que el DisplayFormat aplicado al dataset tiene que darle el formato de salida al resultado.
El asunto es que si aplicas el DisplayFormat al dbgrid lo presentara dependiendo del momento en que abras la consulta.
Saludos

Casimiro Noteví 12-01-2012 22:29:37

Además de nuestra guía de estilo, también es conveniente que encierres el código entre etiquetas, ejemplo:



Por lo que tu código se vería así de bien:

Código Delphi [-]
 Datamodule1.SPSumATPU.Close;
 Datamodule1.SPSumATPU.Parameters[0].Value:= strtoint(main.StatusBar1.Panels.Items[1].Text);
 Datamodule1.SPSumATPU.Parameters[1].Value:= DBLookupComboBox1.Text;
 Datamodule1.SPSumATPU.ExecProc;
 Datamodule1.SPSumATPU.Open;

rocolza 12-01-2012 22:41:58

Pude Hacerlo
 
Pude hacerlo, no de la manera que queria ya que preferia utilizar una etiqueta en la tabla, pero no me quedo mas que hacerlo por codigo, de todos modos si alguien sabe como no dude en escribir. Mil Gracias

Código Delphi [-]
 
{Execute SP Sum Hour Cost}
 Datamodule1.SPSumATPU.Close;
 Datamodule1.SPSumATPU.Parameters[0].Value:= strtoint(main.StatusBar1.Panels.Items[1].Text);
 Datamodule1.SPSumATPU.Parameters[1].Value:= DBLookupComboBox1.Text;
 Datamodule1.SPSumATPU.ExecProc;
 Datamodule1.SPSumATPU.Open;
 {New}
 SumHour:=Datamodule1.SPSumATPUSumOfDuration.Value*24;
 Label13.caption:= FormatDatetime('HH:MM',SumHour);


La franja horaria es GMT +2. Ahora son las 04:05:14.

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