Access - 4 registros nuevos por pedido

 
Vista:

4 registros nuevos por pedido

Publicado por rosa (1 intervención) el 28/02/2007 04:42:18
Debido al formulario de salida tengo que crear un formulario de pedidos incluyendo cliente, fecha, etc (datos cabecera) y un subformulario en el que solamente acepte la entrada de cuatro registros nuevos. La idea es que si hay más de cuatro artículos por pedido debe saltar a una página nueva. Alguien puede ayudarme??? 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
Imágen de perfil de Alejandro

4 registros nuevos por pedido

Publicado por Alejandro (4142 intervenciones) el 03/08/2023 20:09:49
Sí, Rosa, es posible crear un formulario de pedidos con un subformulario que solo acepte la entrada de cuatro registros nuevos y que, si hay más de cuatro artículos por pedido, salte a una nueva página.

Para lograr esto, necesitarás utilizar un formulario principal y un subformulario. Aquí te muestro los pasos para lograrlo:

1. Crea una tabla para los datos de cabecera de los pedidos (por ejemplo, "Pedidos") con campos como "Cliente", "Fecha", etc.

2. Crea una tabla para los detalles de los pedidos (por ejemplo, "DetallesPedidos") con campos como "PedidoID" (que será la clave foránea que vincula los detalles con los datos de cabecera), "Artículo", "Cantidad", etc.

3. Crea un formulario principal basado en la tabla "Pedidos" para ingresar los datos de cabecera de los pedidos.

4. Crea un subformulario basado en la tabla "DetallesPedidos" y agrégalo al formulario principal. Para hacerlo, ve a la pestaña "Diseño" del formulario principal, selecciona el control "Subformulario/Subinforme" en la cinta de opciones y dibuja un área en el formulario principal donde quieres que aparezca el subformulario. Luego, elige la tabla "DetallesPedidos" como origen de registro para el subformulario.

5. En el subformulario, configura la propiedad "Registro actual" del formulario a "Agregar" para que solo acepte la entrada de nuevos registros. Para hacerlo, selecciona el subformulario, ve a la pestaña "Datos" en la cinta de opciones y establece la propiedad "Registro actual" en "Agregar".

6. Para que el subformulario salte a una nueva página después de ingresar cuatro registros, puedes agregar un contador en el subformulario y utilizar el evento "Después de insertar" para verificar si se han ingresado cuatro registros y, en ese caso, pasar al siguiente registro del formulario principal. Aquí tienes un ejemplo de código para hacerlo:

1
2
3
4
5
6
7
8
9
10
Private intContador As Integer
 
Private Sub Form_AfterInsert()
    intContador = intContador + 1
 
    ' Verificar si se han ingresado cuatro registros
    If intContador Mod 4 = 0 Then
        Me.Parent.NextRecord
    End If
End Sub

Con este código, cada vez que se ingresa un nuevo registro en el subformulario, se aumenta el contador. Si el contador es divisible por cuatro (es decir, se han ingresado cuatro registros), el formulario principal pasará al siguiente registro.

Recuerda que en el formulario principal (cabecera de los pedidos) debes tener un campo que actúe como clave primaria (por ejemplo, "PedidoID") que se utilizará para vincular los datos de cabecera con los detalles de los pedidos en la tabla "DetallesPedidos".

Espero que esta solución te sea útil. ¡Buena suerte con tu formulario de pedidos en Access!
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