Access - Ocultar un subformulario en un informe

 
Vista:

Ocultar un subformulario en un informe

Publicado por Kiruco (7 intervenciones) el 09/03/2015 18:31:22
Hola buenas!

Quería ver si alguien me podía echar una mano con este problema que detallo:

Tengo un informe en access y en el mismo hay insertado dos subinforme. Pues bien lo que me interesaría sería que dependiendo del valor de un campo del informe me mostrara uno u otro subinforme.

Por ejemplo:
Si valor del campo TIPOBIEN es A5 mostrar subinforme1 y ocultar subinformeo2.
Si no ocultar subinforme1 y mostrar subfinforme2.

He probado con visual basic en el evento al abrir informe:

If TIPOBIEN = A5 Then
Me![subinforme1].Visible = False
Me![subinforme2].Visible = True
Else
Me![subinforme1].Visible = True
Me![subinforme2].Visible = False
End If


Pero me devuelve error

También he probado con:
Me![subinforme1].Visible = Me![camposubinforme1].Report.HasData
Me![subinforme2].Visible = Me![camposubinforme2].Report.HasData


En ambos casos me da error

Espero vuestra ayuda.
Muchas 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
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Ocultar un subformulario en un informe

Publicado por Jesús Manuel (375 intervenciones) el 10/03/2015 08:44:30
1) Entiendo que A5 es un texto, por lo que tendría que ir entre comillas dobles cuando ejecutas el IF: If Tipobien = "A5" then

2) Tal y como tienes el bucle IF, si el campo TIPOBIEN es igual a A5 te mostrará el Subinforme2 y ocultara el SubInforme1. En tu planteamiento anterior quieres hacer lo contrario, por lo que tienes que revisar que esta visible y que no en cada caso.

3)En lugar del evento AL ABRIR sería mejor en el evento AL ACTIVAR REGISTRO (Form_Current)

4) Si puedes hacer cambios en el campo TIPOBIEN, también en el evento DESPUÉS DE ACTUALIZAR (AfterUpdate) del campo TIPOBIEN


De hecho, si solo colocas este código en el evento AfterUpdate del campo TIPOBIEN, luego puedes llamar a este evento desde Form_Current y te evitas escribir el código de nuevo:

Call Tipobien_AfterUpdate()
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

Ocultar un subformulario en un informe

Publicado por Kiruco (7 intervenciones) el 10/03/2015 11:03:36
Ante todo muchas gracias Jesús Manuel.

Lo primero que como escribí el post con prisas pues no me expliqué bien. La idea es ocultar un SUBINFORME que está dentro de un INFORME.

he probado con lo que me dices pero no me hace nada. Lo he puesto en el evento report_current()
Private Sub Report_Current()
If TIPOBIEN = "A5" Then
Me![subformulario1].Visible = False
Me![subformulario2].Visible = True
Else
Me![subformulario1].Visible = True
Me![subformulario2].Visible = False
End If
End Sub


En este caso no me da ningún error. Pero no llega a ocultar nada me muestra siempre los dos formularios
Gracias de nuevo
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 derlis

Ocultar un subformulario en un informe

Publicado por derlis (1 intervención) el 10/03/2015 11:54:52
hola programadores...necesito sus ayudas por favor... hice un sistema de pagina web, tipo motor de Busqueda con ajax+php+html con CSS, use la aplicacion navicat para mi base de datos mysql,
bueno..lo probe con localhost y funciona de maravilla.. al poner lo que busca en mi motorcito de busqueda ya me sale los datos de mysql cargados en navicat,,,pero ahora pase a un servidor linux- centos para que sea publico mi pagina..Y ELPROBLEMA es que solo puedo ver mis paginas CSS y no me sale nada de los datos al poner el la busqueda.....!!!!!
noce donde esta el problema?? sera que linux no reconoce my navicat como BD noce que pasa ??
me podian ayudar 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
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Ocultar un subformulario en un informe

Publicado por Jesús Manuel (375 intervenciones) el 10/03/2015 12:25:38
Fallo mio, llevo varios días trabajando con unos formularios y ya todo me parecen formularios.

Lo primero es que la VISTA PREDETERMINADA del informe tiene que ser VISTA PRELIMINAR (Opciones informe/Formato/Vista Predeterminada)

Tendrías que poner el siguiente código en el evento AL CARGAR (Load) del informe

Private Sub Report_Load()
If Me.TipoBien = "A5" Then
Me.SubInforme1.Visible = True
Me.SubInforme2.Visible = False
Else
Me.SubInforme1.Visible = False
Me.SubInforme2.Visible = True
End If
End Sub


Con esto sólo consigues ocultar y mostrar subinformes en el primer registro y para que se cumpla en los demás tienes que pegar el mismo código en el evento AL PAGINAR (Page) o bien llamar al evento Load:

Private Sub Report_Page()
Call Report_Load
End Sub


Y por si lo vas a imprimir, tendrías que colocar también el código en el evento AL IMPRIMIR, pero del DETALLE del informe:

Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer)
Call Report_Load
End Sub
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

Ocultar un subformulario en un informe

Publicado por Kiruco (7 intervenciones) el 10/03/2015 12:57:21
Muchísimas gracias!
Me ha funcionado a la perfección.
Saludos
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