Fórmulas en access 2003

Quisiera que por favor me ayudases con el siguiente problema, tengo dos campos en una consulta, el campo 1 tiene un valor mayor que 1 o vacío, y en el campo 2 tiene una valor de 1 o 0, necesito una forma de unir estos dos campos que cumplan las siguientes condiciones: si el campo 1 es mayor que 1 y el campo 2 es igual a 0, entonces que me deje 1, si el campo 1 es mayor que 1 y el campo 2 es igual a 1 entonces que me deje 1*, si el campo 1 es vacío y el campo 2 es igual a 0 entonces que me deje 0, si el campo 1 es vacío y el campo 2 es igual a 1 entonces que me deje 0, he tratado de realizar esto en el diseño de la consulta, con fórmulas de excel, pero me arroja un error de sintaxis o en su defecto siempre me arroja -1.

1 respuesta

Respuesta
1
Eso es fácil de realizar pero no en la consulta misma, sino por medio de código, en un formulario. El resultado se entregaría en un cuadro de texto cualquiera. Para ejecutar el código podes usar un botón (evento Al Hacer Clic) o cualquier otro evento del formulario o de cualquier elemento del formulario que vos quieras. Sería algo así:
-----------------------------------------------------
If Me.Campo1 > 1 And Me.Campo2 = 0 Then
Me.TxtResultado = 1
Else
If Me.Campo1 > 1 And Me.Campo2 = 1 Then
Me.TxtResultado = "1*"
Else
If IsNull(Campo1) And Me.Campo2 = 0 Then
Me.TxtResultado = 0
Else
If IsNull(Campo1) And Me.Campo2 = 1 Then
Me.TxtResultado = 0
End If
End If
End If
End If
-------------------------------------------------------
Si esto no te sirve avisame y buscamos otra solución.
Hola, buen día, estuve observando tu respuesta y no se si me sirva, el problema es que tengo muchos registros, y como tal necesito crear una consulta para que me llame el registro deseado con estas condiciones, a su vez que se vea reflejado el resultado en el formulario y crear un informe, ¿sera qué con lo que me dices se puedce hacer?
¿Probaste con Sí Inmediato? La función es muy similar a la de Excel... Ya la probé y funciona correctamente.
=SiInm([Texto1]>1 Y [Texto2]=0;"1";SiInm([Texto1]>1 Y [Texto2]=1;"1*";SiInm([Texto1] Es Nulo Y [Texto2]=0;"0";SiInm([Texto1] Es Nulo Y [Texto2]=1;"0";""))))
Esto tiene que funcionar...
Hola buen dia;esta solución me parece que es la más adecuada, la he intentado de realizar pero estoy un poco confundido, me surge la siguiente duda, ¿esta fórmula se realiza en la consulta?, de ser así en el momento que la creo me arroja un error que dice " la expresión que introdujo tiene una sintaxis no valida"y me señala el ";", lo he cambiado por coma pero sale el mismo error, te agradecería que me guiaras, puesto que no conozco a fondo el access,,, gracias
Disculpá la demora, estaba de viaje.. ;)
Si, lo podes usar en la consulta creando un campo calculado. Recién lo probé de la siguiente manera y funciona bien. En la consulta, en la fila "Campo:" puse:
---------------------
Resultado: SiInm([Texto1]>1 Y [Texto2]=0;"1";SiInm([Texto1]>1 Y [Texto2]=1;"1*";SiInm([Texto1] Es Nulo Y [Texto2]=0;"0";SiInm([Texto1] Es Nulo Y [Texto2]=1;"0";""))))
--------------------
Se crea un campo calculado llamado Resultado
Para que esto funciono los campos [Texto1] y [Texto2] deben ser NUMÉRICOS.
--------------------
Dependiendo de la versión de Access que estés usando, en la función se usan comas (,) o punto y coma (;). Yo lo hice con Access XP (2002).
-------------------
Hola buen día, estoy usando una version de access 2003 pero no me acepta ni el punto y coma(;) ni la coma(,), estuve investigando y me dicen que en funciones incorporadas, debe haber unas funciones lógicas, las cuales no están, como hago para anexarlas y conseguirlas o en su defecto que más puedo hacer
A ver... pienso que en una de esas si yo te paso un ejemplo, al abrirlo en tu Access, se incorpore o modifique automáticamente la función. Yo uso por lo general Access 2002 y 2003, en el 2003 tenés que usar comas. De todos modos siempre que paso algo de la versión 2002 a 2003, las funciones que se escriben distinto se modifican automáticamente para que puedan ejecutarse... Dejame tu correo así te mando el ejemplo y si eso no funciona vemos que hacemos.
Hola buen día, mira mi correo es [email protected], agradezco tu ayuda
Enviado ;)
Hola buen día, me llego tu correo pero no lo deja abrir, llego bloqueado, por fa lo puedes enviar dentro de una carpeta comprimida en zip, es la única manera que no lo bloquea, te alo agradezco
Enviado en RAR.
Hola buen día, muchas gracias por tu ejemplo, es muy fácil, el problema consistía en en los separadores de lista del equipo, los tenia como "," los cambie a punto y coma y funciona correctamente. Te agradezco mucho

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas