Filtro en Cursor Adapter

20/02/2005 - 13:08 por Claudio López | Informe spam
Utilizo VFP 8 con SP1, y tengo un CA con origen de datos nativo que quiero
filtrar en tiempo de ejecución mediante un where en el evento
BeforeCursorFill, pero no me funciona.
El código que utilizo es BeforeCursorFill( .t., .t., " cláusula where"), y
no importa el evento u objeto en que lo ubique, la cuestión es que no tiene
efecto alguno sobre el cursor resultante.
He leído que hay colegas a los que les ha sucedido algo similar, y hablan
respecto a que el comportamiento obtenido al incluir un where en el
BeforeCursorFill() no es descrito por el help.
Qué es lo que hago mal??
De qué otra manera puedo filtrar un CA en tiempo de ejecución??
Gracias.

Claudio López

Preguntas similare

Leer las respuestas

#1 José G. Samper
21/02/2005 - 03:32 | Informe spam
Hola como estas, el where debes colocarlo en al sentencia sql ejemplo

select * from tabla where micampo=?mifiltro

Saludos


________________________
José G. Samper C.
MCAD/MCSD/MCDBA
http://www.FoxyNet.Net
Caracas - Venezuela

"Claudio López" <claudio172214[ARROBA]hotmail[PUNTO]com> escribió en el
mensaje news:
Utilizo VFP 8 con SP1, y tengo un CA con origen de datos nativo que quiero
filtrar en tiempo de ejecución mediante un where en el evento
BeforeCursorFill, pero no me funciona.
El código que utilizo es BeforeCursorFill( .t., .t., " cláusula where"), y
no importa el evento u objeto en que lo ubique, la cuestión es que no
tiene efecto alguno sobre el cursor resultante.
He leído que hay colegas a los que les ha sucedido algo similar, y hablan
respecto a que el comportamiento obtenido al incluir un where en el
BeforeCursorFill() no es descrito por el help.
Qué es lo que hago mal??
De qué otra manera puedo filtrar un CA en tiempo de ejecución??
Gracias.

Claudio López

Respuesta Responder a este mensaje
#2 Claudio López
21/02/2005 - 13:33 | Informe spam
Gracias José, pero me refería a que en la ayuda para BeforeCursorFill(), en
la parte de observaciones (que transcribo abajo), se describe un
comportamiento que no puedo obtener en la práctica a pesar que me devuelve
.T.:

Visual FoxPro almacena el valor modificado, el cual es utilizado por
CursorFill. El método CursorRefresh utiliza el valor del parámetro
SelectCmd, no el de la propiedad SelectCmd. Esto facilita la construcción
rápida de consultas personalizadas. Por ejemplo, puede almacenar un comando
básico SELECT - SQL en la propiedad SelectCmd y agregar una cláusula WHERE
para el parámetro SelectCmd en este evento sin cambiar el valor base de la
propiedad. El valor del parámetro SelectCmd se pasa al evento
AfterCursorFill.
Si el código en BeforeCursorFill devuelve un valor de Falso (.F.),
CursorFill no se ejecuta, y el cursor asociado actualmente permanece
abierto. Sin embargo, si el código en BeforeCursorFill no devuelve falso, el
cursor asociado actualmente se cierra, y se ejecuta CursorFill.

Los cambios hechos a este parámetro tienen prioridad sobre el valor original
almacenado en la propiedad respectiva o el que se pasa a CursorFill.


"José G. Samper" escribió en el mensaje
news:%
Hola como estas, el where debes colocarlo en al sentencia sql ejemplo

select * from tabla where micampo=?mifiltro

Saludos


________________________
José G. Samper C.
MCAD/MCSD/MCDBA
http://www.FoxyNet.Net
Caracas - Venezuela

"Claudio López" <claudio172214[ARROBA]hotmail[PUNTO]com> escribió en el
mensaje news:
Utilizo VFP 8 con SP1, y tengo un CA con origen de datos nativo que
quiero filtrar en tiempo de ejecución mediante un where en el evento
BeforeCursorFill, pero no me funciona.
El código que utilizo es BeforeCursorFill( .t., .t., " cláusula where"),
y no importa el evento u objeto en que lo ubique, la cuestión es que no
tiene efecto alguno sobre el cursor resultante.
He leído que hay colegas a los que les ha sucedido algo similar, y hablan
respecto a que el comportamiento obtenido al incluir un where en el
BeforeCursorFill() no es descrito por el help.
Qué es lo que hago mal??
De qué otra manera puedo filtrar un CA en tiempo de ejecución??
Gracias.

Claudio López





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida