Formulario de entrada y de edición en access

Les cuento, tengo un formulario para generar pedidos:

Es la tabla pedido y dentro detalle de pedido (Donde están los productos) Es decir un Formulario con subformulario.
La pregunta es la siguiente:

Yo hoy por hoy tengo una copia de ese formulario. Una para "nuevos" pedidos, donde pongo crear entrada nueva y abre el formulario vacío para completar. Y otra copia que es para "editar" pedidos. El cual es un clon del anterior pero abre el formulario en algún registro o "pedido".

Por lo tanto tengo dos formularios iguales y a su vez dos copias de los sub formularios. Y cada vez que cambio el formato de uno, o el código visual basic, tengo que hacer todo lo mismo en el otro.:

  • Formulario Nuevo pedido ( Donde esta indicado Entrada de datos "si")
  • Formulario Detalle de Nuevo pedido ( Donde esta indicado Entrada de datos "si")
  • Formulario Editar pedido (Copia de Nuevo pedido, con Entrada de datos "no")
  • Formulario Detalle Editar pedido (Copia detalle de nuevo pedido, con Entrada de datos "no")

No hay una forma de tener un solo formulario. Y en un botón abra vacío para cargar un nuevo registro y en otro abra con los datos del pedido seleccionado.

¿Se entiende? Así no duplico toda la información!

1 Respuesta

Respuesta
1

Sí puedes hacerlo todo con un único formulario, con "Entrada de Datos" en No.

Añades un botón para Añadir registros, y le generas este código:

DoCmd. GoToRecord,, acNewRec

De este modo te irá a un registro nuevo, con todos los campos en blanco.

Añades un botón para Editar, que imagino que ya lo tienes hecho en el formulario de edición.

Muy bueno muchas gracias, pero una duda más respecto a esto.
¿Cómo puedo un botón que abra dicho formulario y ejecute ese código?
Es decir un botón para que al hacer click abra el formulario vacío para cargar un nuevo registro

El código para eso es este, suponiendo que tu formulario se llame "Pedidos":

DoCmd. OpenForm "Pedidos", acNormal,,, acAdd

Obviamente el botón ha de estar en otro formulario... XD

Hola no lo puedo hacer funcionar,
Es decir me abre el formulario pero no aparece todo vacío en un nuevo registro. Probé esto y tampoco:
DoCmd.OpenForm "Pedido", acNormal, , , acAdd, acDialog

DoCmd.GoToRecord , , acNewRec 


¿Cómo hago?

A ver esta:

DoCmd. OpenForm "Pedido",,,, acFormAdd

No.. tampoco funciona.. Sigue abriendo en un registro en particular.

Los codigos funcionan bien por separado:

DoCmd.OpenForm "Pedido", acNormal, , , acAdd, acDialog (Abre el formulario bien, pero en un registro)
DoCmd.GoToRecord , , acNewRec (Si pongo un boton dentro del formulario con este codigo, funciona bien, aparece todo vacio para poner un registro nuevo)

Si hubiera forma que se ejecuten los codigos en cadena o algo asi, no?

Fíjate que no tengas ningún filtro puesto en el formulario (Propiedades->Datos->Filtrar por), o que no tengas ningún evento en Al cargar que te lleve a ese registro determinado, porque la linea de código para abrir un form y que vaya a un nuevo registro es la que te dije.

Aunque no creo, comprueba que el formulario permite agregar nuevos datos: Propiedades->Datos->Permitir agregar: Sí

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas