FoxPro/Visual FoxPro - Forms y tablas

   
Vista:

Forms y tablas

Publicado por juan (1 intervención) el 30/05/2010 17:38:45
Hola LWP, soy novato en VFP hace poco que estoy en esto, hice una aplicacion, con un menu, varios forms y tablas, todo anda muy bien pero tengo un gran problema, ja!, y quiero ver como lo puedo solucionar y asi no tener problemas.

supongamos que ejecuto el form para hacer ventas, en el entorno de datos, tengo la tabla de vendedores, de ventas, de productos, etc, etc, y cuando ya empece a realizar la venta y ya ingrese varios datos, justo el producto a facturar no lo tengo aun cargado, entonces lo que hice fue agregarle un boton al lado para que me ejecute el form de productos en modo modal y asi lo puedo cargar, pero resulta que me da error con el entorno de datos en el uso de las tablas, no recuerdo bien el error en este momento de ser necesario se los escribo, pero el tema pasa por poder abrir mas de un form y sus tablas, o sea quiero poder agregar un producto sin tener que cancelar la venta o cerrar el form, el tema poder seguir despues de haber cargado el producto continuar con la venta.

Si alguien me puede publicar un ejemplo corto o decirme como hago con el entorno de datos en las tablas o nose.

Muchas Gracias, saludos

Juan de Argentina
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:Forms y tablas

Publicado por es_binario (757 intervenciones) el 31/05/2010 03:49:50
que raro, pero podria ser que tus tablas sean del tipo libre, que con cierta frecuencia hagas lo indicies y que uses demasiado el comando use in X, deberias de usar tus tablas en el entorno de datos y reindexarlas unicamente cuando sea verdaderamente necesario, por ejemplo al final o al principio de tu aplicacion principal, yo hice un software con las caracteristicas que comentos, haces ya varios años y los use me daban muchos problemas.

Comenata mas claramente como es que esta diseñado tu sistema de datos y como accedes a el.

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:Forms y tablas

Publicado por Juan286 (179 intervenciones) el 31/05/2010 15:01:56
Para mi tambien podria ser un exceso de USE tabla es mas recomendable que emples el comando SELECT tabla o alias

Entonces para hacerlo seria algo como lo siguente

en el entorno de datos.

Cargas las tablas en orden de uso por que si lo haces a la ahi se va fox pro manadara errores por el orden.
1 Ventas
2. Productos
3. ticket
3. etc.

Tambien debes de entrar a la prodiedades de la tabla en el entorno y buscar los siguiente comando

BufferModeOverride = 3
Order = (index del cusor)

para que es todo esto bueno cuando se ejecuta foxpro lo primero es cargar las tabla en este caso la primera que debe cargar seria la de ventas o habitacion.

ya con esto seria sencillo que emplearas el comando SELECT.

Espero que no te hagas un poco bolas
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
Imágen de perfil de Mauricio

Forms y tablas

Publicado por Mauricio (1367 intervenciones) el 31/05/2010 16:02:14
Me parece que el error que te da es que ya esta abierta la tabla ventas o producto, en ese caso me parece que lo mejor seria que en el form modal abrieras de nuevo tu tabla con otro alias y no en el ambiente de datos sino en el LOAD o en el INIT del formulario modal, ejemplo
USE mi_tabla IN 0 ORDER mi_orden ALIAS nuevo_alias.
SELE nuevo_alias
Pruebalo y comentas
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:Forms y tablas

Publicado por pablo (argentina) (433 intervenciones) el 31/05/2010 20:53:00
Hola a todos, bueno gracias por su ayuda, pero por ahi no me explique bien, el problema que tengo actualemte es cuando yo ejecuto el form de venta en el init tengo lo siguiente:

thisform.text1.Enabled = .T.
thisform.text1.Value = " "
thisform.text2.enabled = .T.
thisform.text2.Value = " "
thisform.text3.enabled = .F.
thisform.text3.Value = " "
thisform.text4.Value = " "
thisform.text4.Enabled = .F.
thisform.text11.Value= " "
thisform.text11.Enabled = .F.
thisform.text10.Value = " "
thisform.text10.Enabled = .F.
thisform.text14.Value = " "
thisform.text14.Enabled = .F.
thisform.text6.Value = " "
thisform.text6.Enabled = .F.
thisform.combo1.Value =0
thisform.combo1.Enabled = .F.
thisform.combo2.Value =0
thisform.combo2.Enabled = .F.
thisform.combo3.Value =0
thisform.combo3.Enabled = .F.
thisform.command1.enabled = .F.
thisform.text1.setfocus

y asi sucesivamente, y en el entorno de datos varias tablas, ventas, vendedores, planes, etc, etc.

Entonces que es lo que me pasa cuando yo por ejemplo estoy cargando una venta de un cliente y ya voy por la mitad y justo el vendedor que hizo la venta no lo tenia cargado, entonces coloque un boton que hace un DO FORM VENDEDORES y abre el form vendedores en modo modal con su entorno de datos con la tabla vendedores, lo cargo y lo grabo y cuando cierro el form de vendedores para volver a la venta y poder elegir ese vendedor para continuar con la carga, me sucede que se me borran todos los textbox y todo lo que tenia cargado y vuelve al primer textbox en el cual hago foco (text1) ,o sea se vuelve a ejecutar el evento INIT del form Ventas ¿porque?

Como puedo solucionar eso o porque pasa eso, como puedo hacer para que retorne al lugar donde estaba en el form de ventas.

Muchas gracias

Pablo - Argentina
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:Forms y tablas

Publicado por es_binario (757 intervenciones) el 31/05/2010 21:09:17
Eso ocurre por que en los textbox asociados con los datos con la propiedad control source, o tal vez arrastraste los datos de tu entorno de datos a el form, asi por ejemplo tu form esta asociado directamente con la tabla y cuando esta es modificada por otro entorno de datos, ocurre lo que comentas, desaparecen los datos del form y tambien de las grillas.

lo que deberias hacer es asociar tus textbox a un cursor y no directamente a la tabla, pero aun asi esta mal, por que tendrias que tener un boton que refresco los vendedores una vez cambiados, la mejor opcion seria, que crearas una clase form, del form que da las altas y este form lo agreges a el segundo formulario en cuestion y asi creez una instancia de este cuando se requiera.

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:Forms y tablas

Publicado por Juanma Cruz (508 intervenciones) el 01/06/2010 16:41:21
Verifica que cada FORM tenga sesión privada de datos. De lo contrario, estarán interactuando entre ellos a nivel de tablas, provocándote esos problemas.
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