FoxPro/Visual FoxPro - Filter vs Locate

 
Vista:

Filter vs Locate

Publicado por Enrique Garcia (32 intervenciones) el 20/07/2001 00:36:10
Tengo una base de datos que necesito manejar desde un servidor. Me interesan tres tablas (45, 12, 1 MB). Para poder navegar entre estas tres tablas tengo que hacer filtros en cada una de ellas. Como sabran tarda una eternidad cuando intento grabar en ellas. Cuando navego en la tabla padre (12 MB), y cambio de un registro a otro, se debe hacer un filtro en las tablas hijas (45, 1 MB). Todo lo tengo por codigo (altas, bajas, cambios, navegacion, etc.). Que otra forma (mas rapida) puedo utilizar, entendiendo que el usuario solo puede visualizar los registros que cumplan con ciertas condiciones... 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

SQL

Publicado por Antonio Vazquez Morales (173 intervenciones) el 20/07/2001 18:53:46
Puedes usar el SQL (Lenguaje para consultas) que viene integrado con desde FP 2.6 hasta VFP 6.0. ES LO MAS RECOMENDABLE.

Tu preguntas sobre el FILTER y el LOCATE, pero mejor que estos comandos es el SEEK, para tablas indexadas, (Si no tienen indices, no funciona [Quizas peco de imprudente, pues tal vez ya lo sepas])

Pero no hay como un SELECT - SQL y un INSERT - SQL. Busca en la ayuda de VFP la gran sintaxis de estos comandos, (no terminariamos de hablar de SQL)

Aunque tu vision de programacion debera cambiar. Tu tienes las ventaja de que al abrir tu tabla directamente puedes borrar y replazar de una manera muy simple, pero el conjunto de datos que regresa un SELECT-SQL, no es editable, recuerda que solo es una consulta.

Deberas auxiliarte con una tabla temporal o los MEMVAR, SCATTER, GATHER, o tus propias variables, en fin, tu enfoque cambiara, y esto es bueno ya que las nuevas tecnologias de programacion se estan enfocando a trabajar con un conjuto de datos (tambien llamado cursor) y no con tablas.

VFP es muy bueno para estas cosas, incluso tus Tablas, si estan libres, puedes integrarlas en una Base de Datos, creas sus indices y relaciones y hasta puedes usar desencadenantes para automatizar procesos.

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

RE:Filter vs Locate

Publicado por alexis (18 intervenciones) el 20/07/2001 21:04:26
olvidate de el locate y del set filter como bien sabes esto hace tu programa super lento en bd enormes, comienza a utilizar sentencias sql,

Select * from mitabla where a = b into micursor order by miorden...

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