FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
|||
|
|||
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. |
#3
|
||||
|
||||
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; Por ejemplo D5, Dbase, Bde. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
|
|
|