Ver Mensaje Individual
  #3  
Antiguo 25-01-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Quizá un poco descabellado pero se me ocurre esto:

Creas una tabla numeros con un sólo campo numero e insertas todos los números hasta el mayor posible. Esto lo puedes hacer con un simple ciclo:

Código Delphi [-]
Query.SQL.Text := "insert into numeros values(:numero)";

for I := 1 to MaximoNumero do
begin
  Query.ParamByName('numero').AsInteger := I;
  Query.ExecSQL;
end;

Luego, para averiguar cuáles número faltan entre un primer y último número usas la consulta:

Código SQL [-]

select * from numeros
where
  numero not in (select numero from tu_tabla) and
  numero between :primero and :ultimo

Sustituyes los parámetros y lanzas la consulta:

Código Delphi [-]
Query.ParamByName('primero').AsInteger := EditPrimerNumero.Text;
Query.ParamByName('ultimo').AsInteger := EditUltimoNumero.Text;

Query.Open;

// Saludos
Responder Con Cita