SiInm con dos valores en expresión

Estoy tratando de hacer una consulta usando SiInm para condición, pero veo que no me respeta el tegundo valor que le dony a la expresión:

Zona1: SiInm([tabSitios].[CIUDAD]="QUERETARO" Y "EL MARQUES","QUERETARO URBANO",SiInm([tabSitios].[CIUDAD]<>"QUERETARO" Y "EL MARQUES","QUERETARO RURAL"))

¿Es correcto como estoy poniendo el "Y"? O como hago para que tome esas dos ciudades, ya que al ejecutar la consulta solo toma QUERÉTARO y no toma EL MARQUES.

1 respuesta

Respuesta
2

Carlos: Yo haría una construcción más o menos así >>

Zona1: SiInm(([Ciudad]="QUERETARO" Y [Estado]="QUERETARO");"Urbano";SiInm([Ciudad]<>"QUERETARO" Y [Estado]="QUERETARO";"RURAL";[Zona]))

Mis saludos >> Jacinto

Llegue a un punto en el que al ejecutar la consulta me dice que excedí el numero de términos en la expresión, y es que si esta demasiada larga... cuando se llega a ese punto, ¿a qué se debe recurrir cuando pasa eso? ¿Alguna otra opción?

Saludos!

Carlos: Lo ue se me ocurre así de inmediato es hacer una Función en un Módulo Estándar y que la consulta la llame. Mis saludos >> Jacinto

Entiendo lo que comentas Jacinto... pero no me funciona la función que trato de hacer y no tengo idea de como llamarla desde la consulta.

ObtieneZona = IIf((ESTADO = "QUERETARO" And CIUDAD = "QUERETARO"), "QUERETARO URBANO")

Me marca error en la parte de ESTADO, dice que la variable no esta definida.

Carlos: Sería algo así

'JTJ: Función llamada desde la Consulta
Public Function LaZona(Estado As String, Ciudad As String) As String
If Estado = "QUERETARO" And (Ciudad = "QUERETARO" Or Ciudad = "CORREGIDORA" Or Ciudad = "EL MARQUES") Then
        LaZona = "QRO URBANO"
ElseIf Estado = "QUERETARO" And (Ciudad <> "QUERETARO" And Ciudad <> "CORREGIDORA" And Ciudad <> "EL MARQUES") Then
        LaZona = "QRO RURAL"
Else
End If
'Aquí otro Estado
'......
'...
End Function

Para llamar a esa Fución, desde la parrilla de la Consulta, un Campo que se llame por ejemplo ZonaX: LaZona([ESTADO];[CIUDAD])

Mis saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas