Access - Subformulario/Formulario como actualizar el formulario?

   
Vista:

Subformulario/Formulario como actualizar el formulario?

Publicado por Tomas (7 intervenciones) el 04/10/2014 19:19:48
Buenos Días
Tengo este pequeño dilema
Lo que tengo es un Formulario con un Subformulario
Estas son mis dos tablas para este Formulario y subformulario
Tabla de formulario
ID_GAGES, NO_G, NAME_G, DATE_CALIBRATED, ETC
y la tabla de subformulario es
ID_CALIBRATE, NO_G, CAL_DATE, ETC...
Aqui muestro como lo tengo
Untitled
Lo que quiero es que
Cuando yo ingrese una fecha en CAL_DATE, esta se me guarde en la tabla de formulario DATE_CALIBRATED
Le e intentado con macros pero simplemento no me sale..

Me tiene dando vuelta la cabeza esto les agradeceria si me pudieran ayudar
de antemano 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 Neckkito

Subformulario/Formulario como actualizar el formulario?

Publicado por Neckkito (1104 intervenciones) el 05/10/2014 21:44:21
Hola:

Te copio lo que te he contestado en Todoexpertos, pero al ver tus ilustraciones te añado un comentario:

Hola!

Puedes probar lo siguiente:

En el campo CAL_DATE del subformulario sacas sus propiedades -> Pestaña Eventos -> Después de actualizar, y le generas el siguiente código:

...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub...
 
Dim laFecha as variant
 
laFecha=me.CAL_DATE.Value
 
If isnull(laFecha) then
 
exit sub
 
Else
 
me.parent.DATE_CALIBRATED.value=laFecha
 
End if
 
End sub

...

A ver si con esto te funciona.

Saludos,

Y aquí el comentario: el código VBA actúa sobre el subformulario siempre y cuando no esté en vista hoja de datos. Para que te funcione deberías situar tu subformulario en vista de formularios continuos.

Saludos,
firmaMail
http://neckkito.siliconproject.com.ar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Subformulario/Formulario como actualizar el formulario?

Publicado por Tomas (7 intervenciones) el 06/10/2014 16:12:55
Buenos Dias

Muchas gracias la verdad si me funciono el código que me enviaste...

El único detalle es que cuando me voy al subformulario y borro la información del campo CAL_DATE
En el campo DATE_CALIBRATED no se me actualiza al anterior registro del mismo.

Lo que tengo que hacer es irme ala fecha de CAL_DATE anterior borrarla y ponerle la que estaba antes...
no abra manera de que se actualice solo al ultimo registro??

Y conforme al comentario..
Nose como situar mi subformulario en lista de formularios continuos...
si en realidad si funciono el código al momento de hacer todo el procedimiento.
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
Imágen de perfil de Neckkito

Subformulario/Formulario como actualizar el formulario?

Publicado por Neckkito (1104 intervenciones) el 06/10/2014 18:49:19
Hola!

En cuanto al tema de los formularios continuos olvídalo. Fui yo que me confundí al comentártelo (eso pasa por hacer varias cosas a la vez... je, je...).

En cuanto a lo que indicas vamos a cambiar el código en función de tus nuevos requerimientos. El nuevo código debería quedarte así:

...
Private Sub Fech_AfterUpdate()
Dim laFecha As Variant
Dim rst As DAO.Recordset
laFecha = me.CAL_DATE.Value
If IsNull(laFecha) Then
Set rst = Me.Recordset.Clone
With rst
.MoveLast
.MovePrevious
laFecha = .Fields("CAL_DATE").Value
End With
End If
Me.Parent.DATE_CALIBRATED.Value = laFecha
Set rst = Nothing
End Sub
...

Ten en cuenta que si utilizas Access 2003 quizá debas registrar la referencia "Microsoft DAO 3.6 Object Library". De todas maneras pruébalo antes de registrar nada, y si te funciona pues listos.

Saludos,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Subformulario/Formulario como actualizar el formulario?

Publicado por Tomas (7 intervenciones) el 06/10/2014 19:49:16
Hola
Gracias por tu pronta respuesta

En cuanto lo de nuevo código lo puse y me sigue dando el mismo resultado.

Apropósito el access que uso es el 2013 aun así tengo que hacer la referencia "Microsoft DAO 3.6 Object Library"??
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
Imágen de perfil de Neckkito

Subformulario/Formulario como actualizar el formulario?

Publicado por Neckkito (1104 intervenciones) el 06/10/2014 20:09:47
Si tienes Access 2013 no necesitas registrar la librería.

En cuanto a lo que me dices, he detectado que falta un me.requery en el código por si introduces más de un registro a la vez, pero de funcionar funciona.

Échale un vistazo a este ejemplo, a ver si puedes detectar alguna diferencia: https://www.mediafire.com/?lbbtyz073tix328

Saludos,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Subformulario/Formulario como actualizar el formulario?

Publicado por Tomas (7 intervenciones) el 06/10/2014 21:06:32
Si disculpa

No mencione que borraba toda la linea de registro

Eso es lo que ocupo que al borrar toda la linea que mande ala fecha anterior

Aqui te dejo una parte

http://www.mediafire.com/download/so4wdyusfub7jic/Gages_Prueba_-_Copy.accdb

Muchas gracias por tu atención
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
Imágen de perfil de Neckkito

Subformulario/Formulario como actualizar el formulario?

Publicado por Neckkito (1104 intervenciones) el 06/10/2014 21:38:29
Hola Tomás:

Te recomiendo que seas lo más preciso posible en tus preguntas y en los detalles, dado que, como habrás podido comprobar, tú no obtienes la respuesta correcta y quien te responde se enfrenta con una pregunta interminable. Ojo, no es una crítica negativa, es simplemente una constatación de lo que ha pasado con tu consulta. Por mí no hay problema en darle las vueltas que haga falta.

En respuesta a tu consulta lo que tienes que hacer es sacar las propiedades del subformulario (las del subformulario) y en el evento "Después de confirmar la eliminación" tienes que escribir este código:

...
Private sub...
Dim laFecha As Variant
Dim rst As DAO.Recordset
Set rst = Me.Recordset.Clone
If rst.RecordCount = 0 Then
laFecha = Null
Else
With rst
.MoveLast
laFecha = .Fields("CAL_DATE").Value
End With
End If
Me.Parent.DATE_CALIBRATED.Value = laFecha
Set rst = Nothing
End sub
...

De todas maneras aquí tienes tu BD revisada. Como estoy en un Access 2007 no he podido compactar tu BD, pero te recomiendo que de vez en cuando le hagas una compactación.

El link es: https://www.mediafire.com/?7mt623a4u0r1x5h

Saludos,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Subformulario/Formulario como actualizar el formulario?

Publicado por Tomas (7 intervenciones) el 06/10/2014 21:50:56
Hola Neckkito

Gracias
Ya funciono perfecto

Y disculpa por ese detalle, como me distraje con otros detalles del "programita" no fui preciso al preguntar bien lo que quería pues ya sabes lo que sucedió.

Y no te preocupes no me ofendo ni para por el estilo, al contrario cualquier comentario es bien recibido.
Todo sea por mejorar

De antemano
Muchas Gracias.!!
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