ACTUALIZAR SUBINFORME EN REGISTRO NUEVO
Publicado por Jaime (27 intervenciones) el 28/12/2011 18:14:58
Buenas,
el problema que tengo es que no se me actualiza un subinforme llamado cuando el formulario principal (frmLEAD) está en un registro nuevo, para que se me actualice debo salir y entrar del registro. Sin embargo si estoy en un registro "ya grabado" del formulario principal sí que se me actualiza perfectamente. Es decir, la cosa debe de tener que ver con que en el registro nuevo hay "algo" que no está populado correctamente aún.
El subinforme se actualiza al pulsar un botón en un tercer formulario. El código de este botón es el siguiente:
Dim intcurrentleadid As Integer
Dim strSQL As String
DoCmd.RunCommand acCmdSaveRecord
intcurrentleadid = [Forms]![frmLEAD]![ID_LEAD]
strSQL = "INSERT INTO LEADATRIBUTO ( ID_ATRIBUTO, ID_LEAD ) SELECT ATRIBUTOS.ID_ATRIBUTO, " & intcurrentleadid & " AS Expr1 FROM ATRIBUTOS WHERE ((ATRIBUTOS.SELECCIONADO)=True);"
DoCmd.RunSQL strSQL
[Forms]![frmLEAD]![rptLeadAtributos].Requery
DoCmd.Close
Todo el código me funciona perfecto, pero justo la penúltima línea (la del Requery) no funciona en registros nuevos.
Para solucionar esto, he descubierto que si meto un Me.Dirty = False dentro del evento Current del formulario frmLEAD, entonces sí que me funciona pero no quiero hacer esto porque si pongo algún campo como requerido dentro de frmLEAD, al hacer el Dirty = False me da error.
¿de qué forma puedo hacer que se me actualice el subinforme estando en un registro nuevo, sin tener que recurrir a meter Me.Dirty = False en frmLEAD?
Muchas gracias
el problema que tengo es que no se me actualiza un subinforme llamado cuando el formulario principal (frmLEAD) está en un registro nuevo, para que se me actualice debo salir y entrar del registro. Sin embargo si estoy en un registro "ya grabado" del formulario principal sí que se me actualiza perfectamente. Es decir, la cosa debe de tener que ver con que en el registro nuevo hay "algo" que no está populado correctamente aún.
El subinforme se actualiza al pulsar un botón en un tercer formulario. El código de este botón es el siguiente:
Dim intcurrentleadid As Integer
Dim strSQL As String
DoCmd.RunCommand acCmdSaveRecord
intcurrentleadid = [Forms]![frmLEAD]![ID_LEAD]
strSQL = "INSERT INTO LEADATRIBUTO ( ID_ATRIBUTO, ID_LEAD ) SELECT ATRIBUTOS.ID_ATRIBUTO, " & intcurrentleadid & " AS Expr1 FROM ATRIBUTOS WHERE ((ATRIBUTOS.SELECCIONADO)=True);"
DoCmd.RunSQL strSQL
[Forms]![frmLEAD]![rptLeadAtributos].Requery
DoCmd.Close
Todo el código me funciona perfecto, pero justo la penúltima línea (la del Requery) no funciona en registros nuevos.
Para solucionar esto, he descubierto que si meto un Me.Dirty = False dentro del evento Current del formulario frmLEAD, entonces sí que me funciona pero no quiero hacer esto porque si pongo algún campo como requerido dentro de frmLEAD, al hacer el Dirty = False me da error.
¿de qué forma puedo hacer que se me actualice el subinforme estando en un registro nuevo, sin tener que recurrir a meter Me.Dirty = False en frmLEAD?
Muchas gracias
Valora esta pregunta
0