Problemas con grid y ordenacion
Publicado por Miriam (62 intervenciones) el 24/05/2005 20:08:54
Hola tengo un problema con el grid de mi consulta, lo que pasa es que tengo varias consultas en pageframe y 3 pages, pero como no tengo ordenados mis datos de la tabla, tengo que ordenarlo lo hago con este codigo:
select general
SET ORDER TO nombre ASCENDING
Go Top
thisform.pageframe1.page1.grid1.refresh
Ahi el problema es tambien este que no me muestra todos los datos en el grid, no se si es que en un campo (nombre) puede haber varias campos iguales y no me los muestra.
y luego en mi text donde busco los datos que deseo en mi talba y en mi campo, no lo realiza bien si lo hace pero cuando uso la tecla backspace ya sea para hacer otra busqueda me dice que es fin de locate y me posiciona en el ultimo registro y ya no hace nada.
Este es el codigo que tengo en el text:
LOCAL lc, LnRecno
SELECT general
lc = ALLT(THIS.VALUE)
lnRecno = RECNO()
IF general.nombre >= lc
IF NOT BOF() &&Determina si el puntero esta ubicado al principio de tabla
SKIP -1 &&mueve puntero hacia atras
ENDIF
IF general.nombre < lc && debe quedar donde estaba
IF lnRecno <= RECC()
GO Recno()
ELSE
GO BOTT
ENDIF
RETURN
ENDIF
IF NOT EMPTY(ORDER()) && busqueda con indice
SEEK lc
ELSE
GO TOP
LOCATE REST FOR general.nombre =lc WHILE general.nombre <= lc NOOPTIMIZE
ENDIF
ELSE
LOCATE REST FOR general.nombre =lc WHILE general.nombre <= lc NOOPTIMIZE
ENDIF
IF lnRecno # RECNO()
THISFORM.pageframe1.page1.Grid1.SETFOCUS && el nombre del TextBox
THISFORM.pageframe1.page1.Text1.SETFOCUS && el nombre del Grid
ENDIF
RETURN
Espero que haya quedado un poco mas claro la verdad si me urge y gracias.
Saludos
select general
SET ORDER TO nombre ASCENDING
Go Top
thisform.pageframe1.page1.grid1.refresh
Ahi el problema es tambien este que no me muestra todos los datos en el grid, no se si es que en un campo (nombre) puede haber varias campos iguales y no me los muestra.
y luego en mi text donde busco los datos que deseo en mi talba y en mi campo, no lo realiza bien si lo hace pero cuando uso la tecla backspace ya sea para hacer otra busqueda me dice que es fin de locate y me posiciona en el ultimo registro y ya no hace nada.
Este es el codigo que tengo en el text:
LOCAL lc, LnRecno
SELECT general
lc = ALLT(THIS.VALUE)
lnRecno = RECNO()
IF general.nombre >= lc
IF NOT BOF() &&Determina si el puntero esta ubicado al principio de tabla
SKIP -1 &&mueve puntero hacia atras
ENDIF
IF general.nombre < lc && debe quedar donde estaba
IF lnRecno <= RECC()
GO Recno()
ELSE
GO BOTT
ENDIF
RETURN
ENDIF
IF NOT EMPTY(ORDER()) && busqueda con indice
SEEK lc
ELSE
GO TOP
LOCATE REST FOR general.nombre =lc WHILE general.nombre <= lc NOOPTIMIZE
ENDIF
ELSE
LOCATE REST FOR general.nombre =lc WHILE general.nombre <= lc NOOPTIMIZE
ENDIF
IF lnRecno # RECNO()
THISFORM.pageframe1.page1.Grid1.SETFOCUS && el nombre del TextBox
THISFORM.pageframe1.page1.Text1.SETFOCUS && el nombre del Grid
ENDIF
RETURN
Espero que haya quedado un poco mas claro la verdad si me urge y gracias.
Saludos
Valora esta pregunta


0