PDA

Ver la Versión Completa : Dbgrid datos seleccionado


gsilvei
16-09-2011, 02:40:50
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:

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


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)


While not tblDatos.Eof
Begin
if tblFechaVencimiento.Value >= Now then exit
tblDatos.Next
End