FoxPro/Visual FoxPro - Refresh

 
Vista:

Refresh

Publicado por CarlosA (1 intervención) el 11/07/2001 18:13:54

Hola amigos mi consulta es la siguiente, tengo en un formulario varios texbox y otros objetos, solicito un codigo de articulo al usuario y quiero que se actualicen los objetos de acuerdo al codigo seleccionado, a cada objeto le coloco en la propiedad Control Source el campo de una tabla de acuerdo al articulo que el usuario a haya ingresado

1. Como hago para que en el momento de ingresar, no me aparezcan datos siendo que el usuario no ha ingresado ningun codigo, siempre aparecen los objetos con el valor del registro actual de la o de las tablas.

2. Pq razon si en el valid del campo en que el usuario ingresa el codigo de articulo hago una busqueda sobre la tabla y ahi mismo hago un refresh, no se actualizan los datos en los demas objetos.

Es necesario que en este valid cambie la propiedad value de cada objeto para que se actualicen.. no hay una forma mas sencilla de hacerlo.

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

Un olvido....

Publicado por CarlosA (61 intervenciones) el 11/07/2001 18:39:54

En el valid del codigo del articulo cuando no se encuentra este en la tabla muestro un mensaje de articulo no encontrado... pero cuando el usuario hace clic en el boton que tengo para salir o cuando hace clic en el boton cerrar ventana... si el cursor esta en ese momento en el campo codigo de articulo me muestra el mismo mensaje... como hago para que no lo muestre.... aunque el programa sale pero no me parece que este bien que salga el aviso

Gracias de nuevo
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:Un olvido....

Publicado por alexis (18 intervenciones) el 11/07/2001 22:54:28
carlo te doy una idea, no se si sea la mejor, pero funciona....

1. cuando agregas en el control source el nombre del campo a que te refieres, acuerdate que esta direccionando directamente a la tabla asi que siempre te apareceran dato, si le pones un valor ya sea "" o cero se modificara el dato en la tabla..

mira yo hago lo siguiente:

1. cuando hago la busqueda, yo pregunto lo siguiente:

if empty(this.value)

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:Un olvido....

Publicado por alexis (18 intervenciones) el 11/07/2001 22:59:16
carlo te doy una idea, no se si sea la mejor, pero funciona....

1. cuando agregas en el control source el nombre del campo a que te refieres, acuerdate que esta direccionando directamente a la tabla asi que siempre te apareceran dato, si le pones un valor ya sea "" o cero se modificara el dato en la tabla..

mira yo hago lo siguiente:

1. cuando hago la busqueda, yo pregunto lo siguiente:
esto en el valid
if empty(this.value)
no hace nada
else
procesa.....
endif
esto puede elimanar tu error...

cuando quieras los campos despues de la busqueda lo siguiente.

hago la busqueda del valor capturado...

select tabla
if(seek(this.value))
thisform.text1.value = tabla.nombre
thisform.text2.value = tabla.costo
thisform.text3.value = tabla.existencia
else
messagebox('No se encontro',16,'miprueba')
endif
thisform.refresh()

esto te toma un poco mas de lineas en tu programa pero funciona y muy bien...

saludos espero haberte ayudado...

Alexis Ortíz..
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:Un olvido....

Publicado por Foxperto (894 intervenciones) el 13/07/2001 03:29:11
Hola CarlosA:

Comparto la Idea de Alexis, si tambien lo hago Yo, pero no utilizo estas lineas:

thisform.text1.value = tabla.nombre
thisform.text2.value = tabla.costo
thisform.text3.value = tabla.existencia

Si en el ControlSource, tienes el Nombre de la tabla y del campo, con un simple ThisForm.Refresh es suficiente.

Ten cuidado cuando utilises el ControlSource direccionando un campo de la tabla, ya que cualquier modificacion del valor de un textbox, se reflejara en tu tabla.

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