Access.VBA: Asignar en línea un valor a un campo del Repor
Tengo un report con un control llamado AutoLogo cuya propiedad picture debe tomar valores diferentes según el contenido del informe.
Estoy intentando asignar dicho valor a través de código pero siempre obtengo un error y esto me tiene atascado. Concretamente en la línea 13 me aparece el error 2451 que literalmente dice "El nombre del informe que ha especificado está mal escrito o hace referencia a un informe que no está abierto o no existe"
Para verificar que existe, utilizo una rutina que lista los informes de la BD y, cuando encuentra el que quiero, intento asignar el valor en línea. El error lo obtengo en este segundo punto.
Este es el código:
Dim obj As AccessObject, ctr As Control, dbs As Object Dim ListaReports As String Dim objeto As String Dim rpt As Report Dim i As Integer i = 0 ListaReports = "Estos son TODOS los Informes en la Base de Datos:" Set dbs = Application.CurrentProject For Each obj In dbs.AllReports objeto = obj.Name ListaReports = ListaReports & vbNewLine & " * " & i & " * " & obj.Name If obj.Name = "Anmeldebescheinigung BU Niedersachsen" Then Reports(objeto).Controls(0).Picture = Application.CurrentProject.Path &"\Cabecera0.png" End If i = i + 1 Next obj MsgBox ListaReports, vbInformation, "Lista de Informes" End Sub
1 respuesta
Respuesta de Antonio Salvá Ripoll
1