Ver Mensaje Individual
  #2  
Antiguo 15-10-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Lenny Ver Mensaje
Hay alguna forma de recorrer todo el DBGrid (Previamente Filtrado) y copiar a una tabla solo el contenido de este??? y eventualente borrar el contenido del DBGrid????De antemano muchas gracias... espero no estar abusando... PD Utilizo Delphi 2010, Zeos y MySQL
Hola Lenny.

Creo que tenés un error conceptual, lo que está filtrado no es el DBGrid, es la Tabla.
Para realizar lo que deseas tenés que tener dos tablas declaradas con la misma estructura.
Suponiendo para el ejemplo que tus tablas sean Tabla1 y Tabla2 y estén ya abiertas,
el código para copiar a Tabla2 el resultado que se filtró en Tabla1, podría ser:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  i :integer;
begin
  with Table1 do
  begin
    Filtered:= False;
    Filter:= 'Campo ='+QuotedStr('Valor_a_Filtrar');
    Filtered:= True;
    First;
    while not Eof do
    begin
      Table2.Append;
      for i:= 0 to FieldCount-1 do
        Table2.Fields[i]:= Table1.Fields[i];
      Table2.Post;
      Table1.Next;
    end;
  end;
end;

Por supuesto con una sentencia SQL se hace de forma mucho más rápida y sencilla (en el foro tenés muchos ejemplos ); pero creo que este deja más en claro donde son aplicados los filtros.



Saludos.

Última edición por ecfisa fecha: 15-10-2010 a las 01:01:38.
Responder Con Cita