Buenas.
Yo no utilizo SQL, utilizo Firebird e IBX, pero imagino que lo podras adaptar, yo hago la consulta dentro del DataModule lanzando una query accesoria en el OnChange del campo a comprobar.
Código Delphi
[-]procedure TF_ModulDades.CamionsMATRICULAChange(Sender: TField);
var
Matri: string;
begin
if F_ModulDades.CamionsMATRICULA.Value <> '' then
begin
Camio_Ex.Close;
Camio_Ex.ParamByName('MATRICULA').AsString := F_Camions.DBEdit3.Text;
Camio_Ex.Open;
Matri := F_Camions.DBEdit3.Text;
if Camio_Ex.RecordCount > 0 then
begin
Showmessage('Camió existent a la base');
Camions.Cancel;
F_Camions.ToolBar2.Visible := False;
F_Camions.ToolBar1.Visible := True;
F_Camions.DBEdit1.Enabled := True;
if Camio_Ex.ParamByName('MATRICULA').AsString = Matri then
begin
Camions.Locate('MATRICULA', Matri, []);
end;
end;
end;
end;
Consulta accesoria
Código SQL
[-]SELECT * FROM BOM0001
WHERE MATRICULA=:MATRICULA
Espero te ayude
Saludos