Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-10-2003
vetustas vetustas is offline
Miembro
 
Registrado: oct 2003
Posts: 77
Poder: 22
vetustas Va por buen camino
Question dudas con los rangos

Hola gente!!

A ver, tengo un problemilla con los rangos. El problema es el siguiente: No se como funcionan!

Tengo lo siguiente

procedure TForm_ListadoAlumnos.TabSet1Change(Sender: TObject;
NewTab: Integer; var AllowChange: Boolean);
var
letra:string;
begin
letra:= tabset1.tabs[newTab];

DataModule.Modulo.tbAlumnos.IndexDefs.Update;

// Selecciono el indice: ApellidoAlumno
DataModule.Modulo.tbAlumnos.IndexName:=DataModule.Modulo.tbAlumnos.IndexDefs.Items[1].Name;

if NewTab = 0 then
DataModule.Modulo.tbAlumnos.CancelRange
else
DataModule.Modulo.tbAlumnos.setRange([letra],[letra+'zzz']);
DataModule.Modulo.tbAlumnos.refresh;
end;

y na, que no funciona. No tengo mucha idea de Delphi. Toy empezando asi que cuanto más concretos seais con la respuesta más mejor
Responder Con Cita
  #2  
Antiguo 17-10-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Ante todo bienvenido/a

En principio, la forma de utilizar el SetRange es la correcta. Le pones un inicio y un final.

El echo de que no te funcione, puede deverse a varios motivos.

1.- Un lio entre mayúsculas y minúsculas
2.- Que el apellido que buscas (o pretendes filtrar) sea más largo que letra+'zzz'

Y no se si me dejo alguno más

Prueba a debugear la aplicación y mirar el rango que estás poniendo para ver si cumple la condición que realmente estás buscando.
Responder Con Cita
  #3  
Antiguo 17-10-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Mira por este otro camino:

Cuando el índice por el que buscamos implica a varias columnas hay que hacer otras tantas asignaciones.

Código:
Table1.SetRageStart;
Table1['Apellidos'] :='A';
Table1['Nombre'] :='A';
Table1.SetRangeEnd;
Table1['Apellidos'] :='Azzzz';
Table1['Nombre'] :='Azzzz';
Table1.ApplyRange;
Y no te olvides la próxima vez de dar más datos, versión de Delphi utilizada, Tipo de tablas que atacas y con que contralador utilizado.

Por ejemplo D5, Dbase, Bde.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:50:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi