Cita:
Empezado por exequielmatias1
este codigo me funciono! pero me muestra toda la columna de la tabla, yo necesito mostrar en el memo, sólo el resultado de una consulta hecha anteriormente que se muestra en un dbgrid. Es decir pasar los campos mostrados en el dbgrid a un memo
|
Hola.
Esa consulta fué un ejemplo, en la práctica deberías repetir la consulta que utilizaste para mostrar la información en el DBGrid, por ejemplo:
Código Delphi
[-]
...
SQL.Text := 'SELECT ' + ColName + ' FROM TU_TABLA WHERE OTRO_CAMPO BETWEEN 1 AND 50';
...
Cita:
|
Al ejecutar este codigo me borra el resultado anterior...
|
Lo ideal es usar otro componente query para enviarle a la función.
Cita:
|
Es decir pasar los campos mostrados en el dbgrid a un memo
|
Directamente desde el DBGrid sería:
Código Delphi
[-]
procedure TForm1.EncolumnarMemo(const aFieldName: string);
var
BM: Pointer;
begin
Memo1.Lines.Clear;
with DBGrid1.DataSource.DataSet do
begin
DisableControls;
BM := GetBookmark;
try
while not Eof do
begin
Memo1.Lines.Add(FieldValues[aFieldName]);
Next;
end;
finally
GotoBookmark(BM);
FreeBookmark(BM);
EnableControls;
end;
end;
end;
En ese caso estamos trabajando con el
TDataSet que alimenta al DBGrid, por lo que debemos guardar la posición del registro actual antes de recorrerlo para luego dejarlo en su posición original.
Saludos.
