Dudas de access 2000

Quiero preguntarte algunas dudas que me van saliendo, porque estoy diseñando una base de datos y me esta costando trabajo.
Tengo en un cuadro combinado una lista de productos y al hacer doble clic se abre el formulario con la lista de productos y sus precios. Lo que quiero es que al cambiar el precio de un producto y cerrar el formulario, me lo actualice también en el formulario Pedidos, ya que en este formulario al poner el producto aparece el precio.
-Me gustaría saber como se multiplica en un formulario el valor de un campo con el valor de otro campo de otro formulario. Lo he probado con el generador de expresiones y no sale.
-También quería saber como al hacer doble clic en un producto se abriera el formulario Lista de productos justo en el valor de ese campo. Lo he hecho con Openform pero me falta la condición para que se abra en ese valor.
Respuesta
1
1) Lo que pides en el primer punto se puede hacer aunque no es sencillo como para explicarlo por este medio. Hay que desarrollar un código que será relativamente complejo en función de cómo sea tu aplicación. Quizás sea recomendable volver a elegir el producto en el cuadro combinado tomando así el nuevo precio.
2) Para multiplicar 2 campos de un formulario basta con establecer en un campo independiente su propiedad "Origen del Control" con una expresión como la siguiente:
=[Campo1]*[Campo2]
Es necesario que ambos campos posean valores (o sea que no sean nulos)
3) Este es un ejemplo de cómo abrir un formulario que muestre un registro determinado:
DoCmd OpenForm "Lista de Productos",,, "[Código de Producto] = Formularios![Pedidos]![Código de Producto] "
Hola de nuevo. Tengo que preguntarte algo más. Quiero abrir el formulario alhacer doble clic (la ultima pregunta)pero que no se abra solo el registro sino que se abra el form. Entero y e cursor situado en ese valor.
-queria saber como se abre un form. Automáticamente por el ultimo registro editado. Gracias
He probado lo de multiplicar dos campos de dos formularios distintos, pero no funciona, puede ser porque un campo tiene valores vacíos. ¿Cómo se puede hacer?
1) Para que el form. Se abra con totos los registro posicionado en un registro determinado hay que usar la opción OpenArgs del comando DoCmd. OpenForm. Esto es un poco más complejo pero se resuelve programando algunas cosas. Lo que se hace es pasar en OpenArgs el valor del campo que define qué registro buscar (esto es si se puede hacer la búsqueda con un solo valor) y luego utilizar ese valor para buscar (mediante código) el registro deseado.
No puedo pasarte ejemplos por este medio porque sería muy extenso. Te recomiendo que uses la ayuda de OpenArgs.
2) Para que al abrir un formulario se posicione en el último registro editado podrás hacerlo estableciendo en el evento "Al cargar" el siguiente código:
"DoCmd.GoToRecord,, acLast "
3)Perdón por no interpretar que se trataba de 2 form. Distintos. En este caso, lo primero es asegurarse que ambos formularios estén abiertos y con valores al momento de visaulizar el resultado. Utiliza el generador de expresiones para generar la fórmula. Si el resultado queda en uno de los formularios donde está uno de los valores debería quedar algo como:
=[Campo1] * Forms![Nombre del otro Form]![Campo2]
Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas