Ver Mensaje Individual
  #6  
Antiguo 25-04-2006
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Reputación: 20
fidel Va por buen camino
Hola:

Muchas gracias opardor.

He hecho la prueba con esto que me indicas
Código SQL [-]
with DM.IBDSSocios do
  begin
    SelectSQL.Clear;
    SelectSQL.Add( 'SELECT * FROM socios ' );
    SelectSQL.Add( 'WHERE apellidos>=(SELECT MIN(apellidos) FROM socios WHERE apellidos LIKE :LDESDE)' );
    SelectSQL.Add( 'AND apellidos<=(SELECT MAX(apellidos) FROM socios WHERE apellidos LIKE :LHASTA)' );
    ParamByName('LDESDE').AsString := CBLetraDesde.Text + '%';
    ParamByName('LHASTA').AsString := CBLetraHasta.Text + '%';
  end;

Funciona siempre y cuando haya apellidos con todas las iniciales y la primera o la última de la serie pedida no esté acentuada.

Si por el contrario, escojo por ejemplo listar de la A a la Q y no hay apellidos que empiecen por Q no funciona, la consulta queda vacía.

Tampoco funciona si por ejemplo pido de la A a la D y el primer apellido es con A acentúada, por ejemplo Álvarez.

¿Alguna otra forma de hacerlo funcionar'. Gracias.

Un saludo.
Responder Con Cita