FoxPro/Visual FoxPro - Problemas con grid y ordenacion

 
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Problemas con grid y ordenacion

Publicado por Manuel (344 intervenciones) el 25/05/2005 00:30:35
Si tu idea es buscar los nombres parecidos, pues puedes usar el filtrado de datos para las búsquedas.
Por ejemplo:
SELECT General
lc = ALLT(THIS.VALUE)
largo=LEN(lc)
SET FILT TO
SET FILT TO LEFT(nombre,largo)=lc
GO TOP
THISFORM.REFRESH

NOTA: Observa a qué tabla estás apuntando en el grid, en la propiedad "RecordSource", pues la búsqueda la haces en la tabla General.
Además recuerda que en tu código el renglón 11 no debe ser GO RECNO() porque RECNO() es el registro donde estás y la idea es "quedarse donde estaba", sería GO LNRECNO pero sin paréntesis.
Recuerdo que alguien ofreció enviarte un ejemplo. ¿No lo hizo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas con grid y ordenacion

Publicado por miriam (62 intervenciones) el 25/05/2005 00:35:42
Uno de los grandes problemas que tengo es q me esconde los registros repetidos cuando ordeno un campo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Problemas con grid y ordenacion

Publicado por Manuel (344 intervenciones) el 25/05/2005 01:22:44
http://www.lawebdelprogramador.com/foros/mostrar_new.php?id=34&texto=FoxPro/Visual+FoxPro&n1=283208&n2=1&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar