FoxPro/Visual FoxPro - Sobre SET FILTER

   
Vista:

Sobre SET FILTER

Publicado por many (84 intervenciones) el 30/07/2013 06:13:06
Saludo amogos

Quisiera saber si es posible aumentar un poco la velocidad del SET FILTER, como todos sabemos si usamos un programa en la red y ejecutamos un par de set filter inmediatamente baja la velocidad y hasta se puede frisar el programa.

Si saben algo favor comentarlo

Gracias.
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

Sobre SET FILTER

Publicado por Fidel (558 intervenciones) el 30/07/2013 15:52:21
Many: el mejor modo es no utlizar SET FILTER. En su reemplazo utiliza SELECT SQL que es mucho más veloz, sobre todo si tienes índices que ayuden en el proceso.
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

Sobre SET FILTER

Publicado por neo (1601 intervenciones) el 30/07/2013 16:10:19
Es correcto, select de SQL es lo mas recomendable para esto, Aunque también a veces me gusta mucho utilizar "SEEK" que realiza las consultas rapidisimo. Sobre todo si se trata de un solo campo a buscar sin condiciones, como por ejemplo un codigo o valor unico.


Saludos!
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

Sobre SET FILTER

Publicado por Fidel (558 intervenciones) el 30/07/2013 17:12:42
Para tablas nativas indexadas y, excepto por la necesidad de utilizar SET NEAR (generalmente con fechas), es preferible la función INDEXSEEK(lcnValor, .F.| .T. , lcTabla, lcIndice).

Ventajas
1) No necesita seleccionar el área de trabajo
2) No necesita establecer el Master
3) Al testear en principio con la versión INDEXSEEK(lcnValor, .F. , lcTabla , lcIndice), no se mueve el puntero de registro, lo que evita que, en caso de fallar, el puntero vaya a EOF().
La función Seek() tiene también las dos primeras ventajas.
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

Sobre SET FILTER

Publicado por neo (1601 intervenciones) el 30/07/2013 17:28:21
Es correcto, debe trabajar de la mano con los index, pero se recomienda el Select SQL

totalmente de acuerdo con Fidel
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

Sobre SET FILTER

Publicado por many (84 intervenciones) el 02/08/2013 08:02:27
Saludo,

Ahora no se que hacer, tengo una tabla de detalles que crece mucho y el set filter me dará problemas muy pronto.

Cuando el cliente hace una factura y hay un error con algún articulo entonces yo cargo el detalle de esta factura usando SET FILTER, se corrige el error sobre la tablas de detalles y luego actualizo la factura etc. y listo.

Yo podría hacerlo con SELECT, el problema es que aquí no puedo escribir para hacer cambio en el detalle. Si con el select pudiera enviar el resultado a una tablas lo manejaría sin problemas.

Si pueden darme alguna idea sobre esto lo agradezco.
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

Sobre SET FILTER

Publicado por many (84 intervenciones) el 02/08/2013 17:24:57
Saludo y gracias a todos

Problema resuelto sin tener que usar SET FILTER enviando el resultado del SELECT a una tabla donde la manejo a mi antojos.

INSERT INTO dettem SELECT * FROM detalle WHERE numven = thisform.numven.Value


Es todo.
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