FoxPro/Visual FoxPro - Cual es la mejor manera..!!

 
Vista:

Cual es la mejor manera..!!

Publicado por Esther America (2 intervenciones) el 27/08/2007 16:36:56
Hola amigos:

Estoy armando un pequeño sistema de contabalidad, y estoy ingresando el mes de Enero del 2007, y al menos ya tengo unos 1800 registros de asientos de diario; a fin de año digamos que llegue a 15,000 registros.

Cuando modifico un asiento de diario digamos que tiene unos 20 registros, filtro mi tabla por el numero de asiento de diario, algo asi.

SELE CONTABILIDAD
SET FILTER TO NCOMP=Thisform.Text5.value

Que es mostrado en una grilla, del cual elijo el registro que deseo modificar y lo edito en un formulario del conjunto de formularios. y luego procedo a grabarlo en la tabla.

Que pasaria si tengo por exagerar 1 millon de registros el SET filter no pondra lento mi sistema. Estoy usando tablas libres ya q el sistema es multiempresa.

Habia pensado en hacer un SELECT a un cursor y mostrar el resultado en la grilla y modificar dichos registros, ya cuando el usuario decida grabar, borrar los datos de la tabla original y añadir los cambios del cursor. (Eso significaria estar borrando y añadiendo cada que se modifique algun registro).

Existe alguna otra manera de hacerlo.

Por favor acepto sus aportes, desde ya muchas 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

RE:Cual es la mejor manera..!!

Publicado por enrique (1041 intervenciones) el 27/08/2007 16:45:36
estas en lo cierto el set filter lentifica exponencialmente tu sistema, y la decicion de usar un select a un cursor es lo optimo.
Lo que no entiendo es porque tenes que borrar cada vez que se actualice un registro, directamente actualiza el archivo final y volvé a leer con el select los registros.

suerte
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:Cual es la mejor manera..!!

Publicado por Esther America (2 intervenciones) el 27/08/2007 18:12:55
Hola Enrique:

Gracias por leer mi pregunta.
Borro de la tabla original todo el voucher seleccionado; ya que no se que registro del cursor ha modificado el usuario. Son asientos contables y digamos estoy modificando la cta 421001 Proveedores, pero tengo varios proveedores y ademas puedo pagar una o varias facturas a la vez, por eso no sabria capturar q registro modifico.

Gracias por tu paciencia. y sigue mi duda.
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:Cual es la mejor manera..!!

Publicado por enrique (1041 intervenciones) el 27/08/2007 19:00:27
teniendo el mismo principio que te comente anteriormente agregale un campo al select que sea por ej. modificado de tipo logico, entonces cuando modificas ese registro lo marcas y luego actualizas los que tengan el campo modificado en true.
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