Actualizar número de reistros en subformulario
Publicado por Jesús (1 intervención) el 04/03/2015 18:30:20
Por favor
Necesito una variable control para poder realizar una suma de valores de un subformulario liado a tabla principal.
El problema es que la línea que utilizo totest = DCount("[Estimación]", "Estimaciones") me devuelve el número total de registros de un subformulario que no se relaciona en el actual principal
por lo que me marca error al hacer un DoCmd.GoToRecord , , acNext cuando el subformulario tiene menos registros que lo almacenado en la variable de control
Dim Tot_re As Double
Dim cont As Double
Dim contadores As Double
Dim suma As Double
Me.Número_de_obra.SetFocus
DoCmd.GoToRecord , , acFirst
Tot_re = DCount("[Número de obra]", "Obras")
cont = 1
Me.Texto106 = Tot_re
While cont < Tot_re
suma=0
Me.Subformulario_Estimaciones.SetFocus
Me.Subformulario_Estimaciones.Requery
DoCmd.GoToRecord , , acFirst
totest = DCount("[Estimación]", "Estimaciones")
contadores = 1
While contadores <= totest
If IsNull(Me.Subformulario_Estimaciones) = True Then
contadores = contadores + 1
Else
suma = suma + Me.Subformulario_Estimaciones![Importe de estimación]
DoCmd.GoToRecord , , acNext
Me.Texto89 = suma
contadores = contadores + 1
End If
Wend
DoCmd.GoToRecord , , acNext
cont = cont + 1
Wend

Necesito una variable control para poder realizar una suma de valores de un subformulario liado a tabla principal.
El problema es que la línea que utilizo totest = DCount("[Estimación]", "Estimaciones") me devuelve el número total de registros de un subformulario que no se relaciona en el actual principal
por lo que me marca error al hacer un DoCmd.GoToRecord , , acNext cuando el subformulario tiene menos registros que lo almacenado en la variable de control
Dim Tot_re As Double
Dim cont As Double
Dim contadores As Double
Dim suma As Double
Me.Número_de_obra.SetFocus
DoCmd.GoToRecord , , acFirst
Tot_re = DCount("[Número de obra]", "Obras")
cont = 1
Me.Texto106 = Tot_re
While cont < Tot_re
suma=0
Me.Subformulario_Estimaciones.SetFocus
Me.Subformulario_Estimaciones.Requery
DoCmd.GoToRecord , , acFirst
totest = DCount("[Estimación]", "Estimaciones")
contadores = 1
While contadores <= totest
If IsNull(Me.Subformulario_Estimaciones) = True Then
contadores = contadores + 1
Else
suma = suma + Me.Subformulario_Estimaciones![Importe de estimación]
DoCmd.GoToRecord , , acNext
Me.Texto89 = suma
contadores = contadores + 1
End If
Wend
DoCmd.GoToRecord , , acNext
cont = cont + 1
Wend
Valora esta pregunta


0