Hola
1- el proyecto empieza cargando en memoria todos los form, en este caso dos:
Código Delphi
[-]
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' ,
Unit2 in 'Unit2.pas' ;
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
Esto genera un error al llamar al form2 si no se activa el query ya que el DBEdit1 esta ligado al form1 y no contiene nada al ser llamado.
2- Para cambiar la sentencia sql del query usas ADD, esto es mas confuso, tener que cerrar, limpiar y demas el query, con solo usar TEXT se sobre escribe y listo:
Código Delphi
[-]
procedure TForm1.Edit1Change(Sender: TObject);
begin
with Query1 do begin sql.Text:= 'select NOMBRES,centro_educ FROM tabla1'+
'where nombres like '+Quotedstr((edit1.Text)+ '%' ))+
'order by nombres asc';
open;
end;
end;
En el form2:
Código Delphi
[-]
procedure TForm2.Edit1Change(Sender: TObject);
begin
with FORM1.Query1 do begin
sql.Text:= 'select NOMBRES, libro, folio FROM tabla1'+
'where nombres like '+Quotedstr((edit1.Text)+ '%' ))+
'order by nombres asc';
open;
end;
end;
Saludos