Campo texto unión de varios campos, condicionado

Como siempre agradeceros vuestra ayuda.

En el informe de factura de mi base de datos tengo un campo [DireccionCompleta], que está compuesto por el siguiente valor:

=([DireccionInmueble] & ", " & [CPInmueble] & ". " & [LocalidadInmueble] & ". " & [ProvinciaInmueble])

Tengo muchos inmuebles que están en la localidad Sevilla, provincia Sevilla, por lo que en la factura sale el valor duplicado (aunque correspondan a ubicaciones distintas).

Habría alguna forma de limitar el valor del campo [ProvicinaInmueble] (por elegir uno de los dos al azar) para que, en caso de que el campo [LocalidadImueble] tuviera el valor "Sevilla", quedara en blanco?

2 respuestas

Respuesta
1

Eduardo, lo puedes hacer de varias formas, convendría ver el diseño del informe. Por ejemplo, si tengo una tabla como

Y con ella construyo el informe. En su vista diseño selecciono el campo Provincia y en la barra de menús pulso Formato-Formato condicional y creo la regla

Es decir, que si el nombre de la provincia es el mismo de la localidad, me ponga la s letras de provincia en blanco, con lo cual se confunden con el fondo.

Y en el caso de Texto11, que sería tu Dirección completa, en el evento Al dar formato de la sección Detalle le digo

Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
If Provincia = Localidad Then
Texto11 = Direccion & "," & Localidad
Else
Texto11 = Direccion & "," & Localidad & "," & Provincia
End If
End Sub

Con lo que el informe me queda

En el caso de Pepe no pone la última Sevilla, pero en el caso de Carmen sí, porque es de Utrera, si fuera de El Arahal o de Dos Hermanas ya hablaríamos.

Respuesta
1

Otra fórmula para no visualizar el objeto en un informe es utilizar el evento de la sección donde se ubiquen los campos y aplicar esta regla:

Me.Provincia.Visible = Me.provincia <> Me.Localidad

Si se cumple la igualdad Access devuelve (-1) que equivale a verdadero y en otro caso (0) que equivale a False.

Aplicándolo a esta propuesta:
=([DireccionInmueble] & ", " & [CPInmueble] & ". " & [LocalidadInmueble] & ". " & [ProvinciaInmueble])

Puede hacerse asi:
=([DireccionInmueble] & ", " & [CPInmueble] & ". " & [LocalidadInmueble] & ". " & IIF( [LocalidadInmueble] <> [ProvinciaInmueble], [ProvinciaInmueble], "")

Y sin el punto final, asi:

=([DireccionInmueble] & ", " & [CPInmueble] & ". " & [LocalidadInmueble] & IIF( [LocalidadInmueble] <> [ProvinciaInmueble],  ". " & [ProvinciaInmueble], "")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas