Presentar en el form dos campos de tablas diferentes

A ver si me puede ayudar
Quiero desde un formulario que presenta el código del proveedor en un text box que extraego de una tabla producto, quiero que a lado me ponga la descripción del proveedor que esta en otra tabla que se llama proveedor ya esta indexada por código de proveedor pero no c como hacer para que busque la descripción
Gracias

1 respuesta

Respuesta
1
Hay varias posibilidades:
Se me ocurre que la más simple y directa es la siguiente:
En el evento init del control txtbox que deseas que muestre el nombre del proveedor escribe el siguiente código:
Local lcCodigo, lcNombre
lcCodigo=alltrim(tabla.codigoproveedor)
lcNombre=""
* la tabla proveedor debe estar en el entorno de datos del formulario *
* en caso contrario debes abrirla, obtener el dato y cerrarla *
* abrimos la tabla proveedor *
use proveedor in 0
IF SEEK(lcCodigo, "proveedor", "codigo")
     lcNombre=alltrim(proveedor.nombre)
endif
* cerramos la tabla proved *
use in preveedor
* asignamos valor al txtbox *
thisform.txtnombreproveedor.value=lcNombre
release lcCodigo, lcNombre
***
Recuerda que si la tabla proveedor ta está en el entornode datos de tu formulario no es necesario que la vuelvas a abrir ni cerrar.
Si tienes alguna duda no dejes de consultar.
El código quedo de esta manera
local lcCodigo, lcNombre
lcCodigo=alltrim(producto.codi_prov)
lcNombre=""
* la tabla proveedor debe estar en el entorno de datos del formulario *
* en caso contrario debes abrirla, obtener el dato y cerrarla *
* abrimos la tabla proveedor *
*use proveedor in 0
IF SEEK(lcCodigo, "proveedor", "codi_prov")
lcNombre=alltrim(proveedor.desc_prov)
endif
* cerramos la tabla proved *
*use in proveedor
* asignamos valor al txtbox *
thisform.txtdescprovproveedor.value=lcNombre
release lcCodigo, lcNombre
El valor, tipo o numero o números de argumentos no es válido para la función
Otra consulta que va ligada con este formulario.
Este formulario es el ABM que se creo en la clase pasada
Mi pregunta es
Si en este mismo form hecho con la clase miform y al cual le agregue la clase micommangroup, yo en vez de agregarle el grid le agregue los datos texbox de dos tablas productos y proveedores.
Yo puedo en este mismo formulario cuando pulso el botom nuevo que en vez de ir a un formulario nuevo para añadir un registro lo puedo hacer desde los campos que agregue en mi ABM. Y luego desde el botom de la clase guardar grabar el registro en la tabla producto y visualizarlo en el ABM. O forzadamente tengo que crear un formulario para añadir registros.
Ya lo intente desde el ABM pero siempre me enviaba el mensaje que el registro existía pero físicamente en la tabla el registro no existe.
Vamos por partes:
En respuesta al mensaje de error seguramente se debe a que el campo código de cliente es numérico.
Siendo así la función alltrim no es aplicable y hay que sacarla, quedando el código así:
Local lcCodigo, lcNombre
lcCodigo=producto.codi_prov
lcNombre=""
IF SEEK(lcCodigo, "proveedor", "codi_prov")
lcNombre=alltrim(proveedor.desc_prov)
endif
* asignamos valor al txtbox *
thisform.txtdescprovproveedor.value=lcNombre
Release lcCodigo, lcNombre
En cuanto a tu segunda pregunta la respuesta es sí puedes hacerlo como lo planteas.
Pero ahora no quiero confundierte con ese tema, prefiero que resuelvas la primera pregunta, la finalicemos adecuadamente y sigamos con las otras dudas en sucesivas preguntas independientes.

Añade tu respuesta

Haz clic para o