Buenas tardes a todos.
Alguna vez he os realizado alguna consulta sobre el metodo locate y siempre me habeis dicho que si el volumen de datos a procesar era importante, este ralentizaba bastante el tiempo de proceso, cosa que he comprobado en mis propias carnes (o datos), tambien me habeis sugerido que use una consulta sql para localizar el registro buscado y asi agilizar el proceso.
En el siguiente código, uso un form para buscar un registro y luego locate para localizarlo en la tabla general y presentarlo en el formulario correspondiente.
He estado dando vueltas en como poder implementar la busqueda por sql pero no doy en el clavo, lanzar la consulta y mostrar el resultado en el formulario.
Código Delphi
[-]
procedure TF_Parcs.JvDBGrid1DblClick(Sender: TObject);
var cod:Integer;
begin
cod:= Camions_ParcID.Value;
begin
Buscar_Camio.Close;
Buscar_Camio.SQL.Text:='SELECT ID FROM BOM0001 WHERE ID = '+IntToStr(cod);
Buscar_Camio.Open;
if not Assigned(F_Camions) then
begin
F_Camions:=TF_Camions.Create(nil);
F_ModulDades.Camions.Locate('ID', Buscar_CamioID.Value, []); end
else
begin
F_ModulDades.Camions.Locate('ID', Buscar_CamioID.Value, []);
F_Camions.BringToFront;
end;
end;
end;
Perdonad si la consulta resulta banal, pero no veo más allá de mis narices y no me aclaro de como hacerlo, con lo que si alguien me echa un cable pues estaré le eternamente agradecido.
Saludos a todos
Josep