Ver Mensaje Individual
  #4  
Antiguo 21-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola steelha.

Mirando tu código, yo tampoco me explico ese error si el campo ID existe y con ese nombre... Por si estuvieras utilizando el mismo componente en otra parte del código, intenta salvando y restaurando la consulta original:
Código Delphi [-]
function TGenerador.GetActiveServiceStation: Integer;
var
  MaxRegs : Integer;
  OldSQL  : string;
begin
  with dm.qryEstaciones do
  begin
    OldSQL := SQL.Text;
    // Obtener el número total de estaciones de servicio activas
    Close;
    SQL.Text := 'SELECT COUNT(*) AS MAX_REG FROM tblRepresentante WHERE ACTIVO = ''S'' ';
    Open;
    if isEmpty then
      raise Exception.Create('No hay estaciones de servicio activas');
    MaxRegs :=  FieldByName('MAX_REG').AsInteger;

    // Seleccionar una estación de servicio activa al azar
    Close;
    SQL.Text := 'SELECT ID FROM tblRepresentante WHERE Activo = ''S'' ';
    Open;
    Randomize;
    Locate('ID', Random(MaxRegs), []);
    Result := FieldByName('ID').AsInteger;
    Close;
    SQL.Text := OldSQL;
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita