Access - discriminar campos en informe

   
Vista:

discriminar campos en informe

Publicado por rafa (149 intervenciones) el 13/04/2011 12:58:46
Estimados amigos, espero me puedan ayudar.
Tengo una BD para llevar el control de la comunidad de vecinos y el consumo de agua de la misma y periodicamente he de pasar los recibos de la comunidad y del agua que se consumen.
Hasta aqui no hay ningun problema, pero resulta que hay un propietario que posee la mayoria de viviendas al que le paso mensualmente un recibo por la totalidad de la comunidad de pisos que posee y tambien hay inquilinos que viven de alquiler por lo que solo deben pagar el consumo de agua.
Tengo un campo numerico con el importe de la comunidad correspondiente a cada vivienda llamado [importe_comunidad] y necesitaba que en el informe (recibo) me discriminara este importe dependiendo de otro campo de tipo si/no llamado [propietario], de manera que aquellos que son propietarios me coga el importe de la comunidad y para aquellos que no lo son me cogiera el valor de cero (no nulo).
gracias de antemano
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 Enrique Ramírez

discriminar campos en informe

Publicado por Enrique Ramírez (617 intervenciones) el 13/04/2011 16:02:44
IIF([propietario],[importe_comunidad],0)
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 Henry

discriminar campos en informe

Publicado por Henry (37 intervenciones) el 14/04/2011 00:58:04
Buenas tardes rafa.
Cuando tienes un campo declarado [propietario] de tipo SI/NO, el valor SI lo representa como 1 y el valor NO lo representa como 0.
Te hago las siguientes preguntas:
1.- el campo [importe_comunidad] ¿cuando es un propietario tiene un valor en Bs. Y cuando no es propietario el campo está en blanco(nulo)?.
2.- Cuando emites el informe se lee una sola tabla que contiene los campos [propietario] y [importe_comunidad].
3.- ¿El campo [importe_comunidad] lo imprimes directamente de la tabla, o es un campo independiente del informe?.

Si tu imprimes el campo [importe_comunidad] bien sea para propietario o para inquilino, debes crear un campo independiente en el informe con las mismas propiedades del campo [importe_comunidad], y por evento le transfieres el valor. Supongamos que lo creas con el nombre de importe_inf.
Debes crear un evento en el informe para condicionar el campo [propietario], para determinar si es un propietario o es un inquilino. este evento debes generarlo en las propiedades del informe a nivel de detalle en Antes de imprimir. Ejemplo:

Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer)
If Me.propietario = 1 Then ' Es un propietario
Me.importe_inf= Me.importe_comunidad
else
Me.importe_inf=0 ' Es un inquilino
End If
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
0
Comentar

discriminar campos en informe

Publicado por rafa (149 intervenciones) el 14/04/2011 09:11:11
Muchisimas gracias Henry, segui tus indicaciones y me funcionó perfectamente.
Un saludo.
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

discriminar campos en informe

Publicado por rafa (149 intervenciones) el 13/04/2011 16:36:29
he colocado el codigo en el evento al activar registro del informe y no me funciona, de hecho me da error (se espereba =)
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
Imágen de perfil de Henry

discriminar campos en informe

Publicado por Henry (37 intervenciones) el 14/04/2011 04:01:09
Buenas noches rafa.
En el correo anterior te envié el evento, pero hay un error, debes comparar con -1, ya que Si es valor -1 y No es valor 0.

Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer)
If Me.propietario = -1 Then ' Es un propietario
Me.importe_inf= Me.importe_comunidad
else
Me.importe_inf=0 ' Es un inquilino
End If
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
0
Comentar
Imágen de perfil de Henry

discriminar campos en informe

Publicado por Henry (37 intervenciones) el 14/04/2011 15:06:11
Buenos dias rafa.

Estoy a la orden para cualquier duda.

chao.
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