Ver Mensaje Individual
  #2  
Antiguo 23-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 28
Lepe Va por buen camino
Filtrar una tabla es tan fácil como:

Código Delphi [-]
  tabla1.filter := 'No_control = 12245'; //suponiendo que el campo no_control es un número entero
  tabla1.fileter := 'no_control = ' + quotedStr('12245'); // suponiendo que el campo no_control es un String
  tabla.filtered := true;

Con un grid ligado a esa tabla, ya tienes el filtro; pero un filtro, además de costoso para el sistema, es poco flexible y tarde o temprano necesitarás algo más potente.

Puedes usar un TQuery:
Código Delphi [-]
var periodoElegido:String;
begin
if VerPeriodo1 then
  PeriodoElegido := 'Periodo1'
else if VerPeriodo2 then
 PeriodoElegido := 'Periodo2'
else 
 PeriodoElegido := 'Periodo1, Periodo2, Periodo3';

  query1.sql.text := 'select no_control, materia, ' + periodoElegido+
                           ' from calificaciones where '+
                           ' no_control = : prControl';
 query1.ParambyName('prControl').AsString := '232354'; // Segun el campo, usa AsString, AsInteger etc.

 query1.RequestLive := true; // permite que se actualicen los datos de la consulta
 Query1.Open;
 Dbgrid1.Columns.RebuildColumns; // hace que se actualicen las columnas del grid
 Dbgrid1.Colums[0].ReadOnly := true; // no dejamos que modifique el no_control
 Dbgrid1.Colums[1].ReadOnly := true; // tampoco la materia 
end;
El Query lo tienes asociado al DBGrid1 y puedes modificar los datos directamente sobre ese grid.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 23-05-2006 a las 19:48:58.
Responder Con Cita