Access - Insertar un registro en dos tablas

 
Vista:

Insertar un registro en dos tablas

Publicado por Marian (7 intervenciones) el 16/08/2007 13:44:23
Hola a todos:

Tengo 2 tablas y quiero que desde el formulario que llena la tabla 1, al mismo tiempo que graba un registro en la tabla 1 lo haga en la tabla2, y asi como tantos registros necesite ingresar.

La bd la oriento para un stock de almacen, la cual cuando ingreso el material, se ingrese en la tabla de almacen para ver lo que me queda, y a su vez en la tabla de ventas.
Donde he insertado los registros originalmente, tabla almacen, se queden para la próxima vez que tenga que hacer el pedido.

Si podeis mandar algun ejemplo mejor os lo agradeceria

gracias a todos
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

Insertar registros en dos tablas desde un formulario

Publicado por Alejandro (4142 intervenciones) el 17/08/2023 18:33:07
Para lograr insertar registros en dos tablas al mismo tiempo desde un formulario en Access, puedes utilizar las funciones y eventos adecuados. Aquí tienes un ejemplo de cómo hacerlo:

Supongamos que tienes dos tablas llamadas "Almacen" y "Ventas", y deseas ingresar registros en ambas al mismo tiempo desde un formulario.

1. Abre el formulario en modo de diseño.

2. Agrega los cuadros de texto y controles necesarios para ingresar los datos.

3. Añade un botón de comando llamado "btnGuardar".

4. Abre la ventana de propiedades del botón "btnGuardar" y ve a la pestaña "Eventos".

5. En el evento "Al hacer clic", haz clic en el botón de los tres puntos (...) y selecciona "Generador de código".

6. En el editor de código VBA que se abre, agrega el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Private Sub btnGuardar_Click()
    Dim db As Object, rstAlmacen As Object, rstVentas As Object
 
    Set db = CurrentDb()
    Set rstAlmacen = db.OpenRecordset("Almacen", dbOpenDynaset)
    Set rstVentas = db.OpenRecordset("Ventas", dbOpenDynaset)
 
    ' Agregar registro en tabla Almacen
    With rstAlmacen
        .AddNew
        !Material = Me.txtMaterial ' Ajusta el nombre del campo
        !Cantidad = Me.txtCantidad ' Ajusta el nombre del campo
        ' Agrega más campos si es necesario
        .Update
    End With
 
    ' Agregar registro en tabla Ventas
    With rstVentas
        .AddNew
        !Material = Me.txtMaterial ' Ajusta el nombre del campo
        !Cantidad = Me.txtCantidad ' Ajusta el nombre del campo
        ' Agrega más campos si es necesario
        .Update
    End With
 
    ' Cierra los recordsets
    rstAlmacen.Close
    rstVentas.Close
    Set rstAlmacen = Nothing
    Set rstVentas = Nothing
 
    MsgBox "Registros guardados correctamente.", vbInformation, "Guardar"
End Sub

Asegúrate de reemplazar "txtMaterial" y "txtCantidad" con los nombres reales de los controles en tu formulario que corresponden al material y la cantidad a ingresar.

7. Cierra el editor de código VBA y guarda el formulario.

Cuando ingreses los datos en el formulario y hagas clic en el botón "Guardar", se insertarán registros en ambas tablas con los valores correspondientes. Recuerda ajustar los nombres de los campos y controles según tu diseño específico.
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