Hola elturu15.
Es exactamente como te lo ha sugerido Delphius, lo que sucede es que no has echo en absoluto lo que te indicó.
El título "Listado
entre letras", indica que se trata de un intervalo donde los elementos que queres mostrar son aquellos que estén comprendidos
entre dos límites.
Suponiendo la condición: X >
elemento < Y, vas a necesitar un valor
desde (X) y otro
hasta (Y) para mostrar los datos que se hallen entre estos.
Código Delphi
[-]'Select * From Usuarios WHERE (Nick>'+QuotedStr(claveD)+') order by nick';
En este código sólo enviás un valor:
ClaveD.
Básicamente tu código dice: "Seleccioname todos los campos de la tabla Usuarios donde Nick sea mayor a ClaveD ordenados por Nick" y eso, no es
lo que buscas que haga la consulta...
Te pongo dos ejemplos de como creo que deberías hacerlo:
Código Delphi
[-]
...
begin
with IBQuery do
begin
SQL.Clear;
SQL.Add('SELECT * FROM USUARIOS');
SQL.Add('WHERE NICK > ' + QuotedStr(Desde) + ' AND NICK < ' + QuotedStr(Hasta));
SQL.Add('ORDER BY NICK');
Open;
end;
O mejor para mi gusto:
Código Delphi
[-]
...
begin
with IBQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM USUARIOS');
SQL.Add('WHERE NICK > :DESDE AND NICK < :HASTA');
SQL.Add('ORDER BY NICK');
ParamByName('DESDE').AsString:= Desde;
ParamByName('HASTA').AsString:= Hasta;
Open;
end;
end;
Edito: Rectifiqué la selección de campos en select a '*' para que se ajuste exactamente al código de tu consulta.
Saludos.