Cita:
Empezado por Caral
Hola
Caro, yo si te leo, como no hacerlo.
Saludos
|
Oh, muchas gracias amiguito

.
Creo que ya te he entendido deprimera, tu quieres obtener los valores del ultimo DBGrid que ha tenido el foco, si es así no se puede directamente, ya que si preguntas por Focused el que va tener el foco es tu boton o si preguntas por ActiveCOntrol lo mismo.
Lo que se me ocurre es que guardes en una variable el ultimo dbGrid en el que s ele ha hecho click, eso lo puedes hacer en el evento OnEnter, pero también debes definirte una variable global.
Código Delphi
[-]
DBGridFoco : TDBGrid;
en el codigo de tu boton
if DBGridFoco = DBGrid1 then
begin
cod:= adotable1.fieldbyname('Codigo').AsInteger;
desc:= adotable1.fieldbyname('Servicio').AsString;
end;
if DBGridFoco = DBGrid2 then
begin
cod:= adotable2.fieldbyname('Codigo').AsInteger;
desc:= adotable2.fieldbyname('descripcion').AsString;
end;
procedure TForm1.DBGrid1Enter(Sender: TObject);
begin
DBGridFoco := DBGrid1;
end;
procedure TForm1.DBGrid2Enter(Sender: TObject);
begin
DBGridFoco := DBGrid2;
end;
La variable global puede ser de otro tu tipo, solo te sirve para que identifiques cual ha sido el ultimo que ha tenido el foco.
Saluditos