Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   dudas con los rangos (https://www.clubdelphi.com/foros/showthread.php?t=4488)

vetustas 17-10-2003 12:41:15

dudas con los rangos
 
Hola gente!!

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

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 :D

__cadetill 17-10-2003 14:21:31

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 :p

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.

marcoszorrilla 17-10-2003 15:27:09

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.


La franja horaria es GMT +2. Ahora son las 06:22:07.

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