Querras decir:
Código Delphi
[-]
with DataModule4.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select id_cult from cultivos where desccultv=:cultivo') ;
ParamByName('id_cult').AsString :=suiDBLookupComboBox3.Text;
Open;
id_cultv:=FieldByName('id_cult').AsInteger;
Close;
end;
Este código funciona bien usando Zeos que crea automáticamente los parámetros del query, no se si los demás componentes lo hagan también ya que no mencionas cuales usas.
La asignación que haces es incorrecta ya que estas tratando de acceder a un Parámetro del query y no a un campo, puedes tambien cambiar ParamByName por FieldByName y seguramente ahora si te va a funcionar. Por otro lado, tienes que verificar que la consulta te devuelva algo antes de asignarlo y en caso contrario hacer algo en consecuencia, ya que si no te devuelve nada quiere decir que no existe ninguna muestra con ese nombre.