Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Dbgrid datos seleccionado (https://www.clubdelphi.com/foros/showthread.php?t=75744)

gsilvei 16-09-2011 02:40:50

Dbgrid datos seleccionado
 
Hola a todos,
estaba pensando si es posible, cuando abro mi formulario com un DBgrid,
donde tengo un campo Fecha, queria que selecionara ese registro que coincide con la fecha del computador.
Gracias

ecfisa 16-09-2011 06:58:26

Hola gsilvei.

Si no te entendí mal, sería:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  DataSet.Open;
  DataSet.Locate('FECHA', Date, []);
  DBGrid1.Options:= DBGrid1.Options + [dgRowSelect]; // pinta la fila del registro seleccionado (esta línea es opcional)
  ...
end;
Donde 'FECHA' sería el nombre de tu campo.

Saludos.

gsilvei 17-09-2011 04:30:58

hola ecfisa,
creo que va funcionar,
despues de probar posto el resultado,
Gracias

oscarac 17-09-2011 16:05:56

dependiendo de como tienes los datos
podrias hacer una consulta con la fecha en cuestion

Código Delphi [-]
 
Select campos.. from tabla where Fecha := Now

segun entendi.. tu quieres todo el registro que coincida.. lo que no mencionas es que si la fecha es unica o existen mas fechas similares

gsilvei 17-09-2011 18:07:58

hola oscarac,
tengo un dbgrid que muestra un monton de datos,
todos ellos tienen como primer campo "FECHA_VENCIMIENTO",
solo que tengo de varios dias y meses,
y queria que cuando abro ese formulario,
ya quedara seleccionada a partir del primer registro que coincida el campo "FECHA_VENCIMIENTO" sea igual a la fecha del computador (DATE),
tu sugerencia no la probe todabia,
la de ecfisa no funciono.
Gracias

oscarac 17-09-2011 18:53:07

hola
es que no es tan sencillo como lo haces ver

imaginate que la fecha de vencimiento no exista (que no sea hoy).. entonces cuando se hace la busqueda no encontraria nada y se iria hasta el ultimo registro y que pasa con los registros que tienen fecha de vencimiento menor al Now?

que te parece si recorres la tabla y te posicionas en el registro mas cercano al esperado.. algo asi (la tabla debe estar ordenada por el campo Fecha de vencimiento)

Código Delphi [-]
 
While not tblDatos.Eof
Begin
  if tblFechaVencimiento.Value >= Now then exit
  tblDatos.Next
End


La franja horaria es GMT +2. Ahora son las 12:02:20.

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