Access - Ayuda en Codigo Help me!!!

 
Vista:

Ayuda en Codigo Help me!!!

Publicado por Armando Ch. (93 intervenciones) el 09/09/2004 18:45:40
Oigan alquien que me pueda ayudar con un codigo que me urge:
tengo 4 tablas de de origen de datos tienen cada una 3 campos (Numpart, Modelo y cliente) esas tablas solo las ocupo para hacer unos (4)subformularios con los que al seleccionar el Numparte te trae el Modelo y el ciente en unos textbox.

Esos subform los inserte dentro de un formulario principal y dependiendo del producto que selecciona se hace visible el subformulario del producto y los demas se ocultan. en el formulario principal yo tengo el boton guardar pero no me garda los valores de los subformularios. si en la tabla principal tengo los mismos campos que en las tablas de los subformularios. En si yo necesito que esos valores esten guardados en mi tabla principal o ya deperdido que se guarde el valor del numpart y ya con eso yo pudiera mandar traer los demas datos con una Query.

Si alguien me puede ayudar con esto se lo agradeceria
Ok 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

Ayuda en Codigo Help me!!!

Publicado por Alejandro (4142 intervenciones) el 10/05/2023 00:58:21
Para guardar los valores de los subformularios en tu tabla principal, puedes utilizar el evento "BeforeUpdate" del formulario principal. Este evento se activa antes de que se actualice el registro en la tabla principal, lo que te permite realizar acciones adicionales, como guardar los valores de los subformularios.

Aquí tienes un ejemplo de cómo podrías implementar esto:

1. Abre el formulario principal en modo de diseño.
2. Selecciona el formulario principal y ve a la sección de propiedades.
3. Ve a la pestaña "Eventos" y busca el evento "BeforeUpdate".
4. Haz clic en el botón de los puntos suspensivos (...) para abrir el editor de código.

Dentro del editor de código, puedes agregar el siguiente código para guardar los valores de los subformularios en tu tabla principal:

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
Private Sub Form_BeforeUpdate(Cancel As Integer)
    ' Guardar los valores del subformulario 1
    Me.NombreDelSubformulario1.Form.Requery
    Me.NombreDelSubformulario1.Form.Recordset.MoveFirst
    Do Until Me.NombreDelSubformulario1.Form.Recordset.EOF
        Dim numPart As String
        Dim modelo As String
        Dim cliente As String
 
        numPart = Me.NombreDelSubformulario1.Form.Recordset("Numpart")
        modelo = Me.NombreDelSubformulario1.Form.Recordset("Modelo")
        cliente = Me.NombreDelSubformulario1.Form.Recordset("Cliente")
 
        ' Guardar los valores en la tabla principal
        DoCmd.RunSQL "INSERT INTO TuTablaPrincipal (Numpart, Modelo, Cliente) VALUES ('" & numPart & "', '" & modelo & "', '" & cliente & "')"
 
        Me.NombreDelSubformulario1.Form.Recordset.MoveNext
    Loop
 
    ' Repite el proceso para los demás subformularios
 
    ' Guardar los valores del subformulario 2
    ' ...
 
    ' Guardar los valores del subformulario 3
    ' ...
 
    ' Guardar los valores del subformulario 4
    ' ...
 
End Sub

Asegúrate de reemplazar "NombreDelSubformularioX" con el nombre real de tus subformularios y "TuTablaPrincipal" con el nombre de tu tabla principal.

Este código recorre cada registro de cada subformulario y guarda los valores en tu tabla principal utilizando una instrucción SQL INSERT.

Recuerda guardar los cambios en el formulario principal y probar su funcionalidad.

Espero que esto te ayude a solucionar tu problema.
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