Access - FUNCION EN CUADRO DE TEXTO

 
Vista:

FUNCION EN CUADRO DE TEXTO

Publicado por eduardo (122 intervenciones) el 30/08/2005 15:47:52
Estimados, estoy con una duda de la cual no logro solucion, resulta son tres los campos involucrados, el campo moneda, que puede ser DOLAR o EURO, estos se elijen en un cuadro combinado, un segundo campo llamado T/C=tipo de cambio, que seria el valor de la moneda ya sea DOLAR O EURO, y un tercer campo llamado dolar para obtener un cuarto campo que es la PARIDADque resulta de dividir el DOLAR por el T/C.
ahora bien, en el campo DOLAR puse una funcion que dice =SiInm([MONEDA]="DÓLAR",[T/C]), pero si no es DOLAR quiero que deje ingresar el valor del EURO y obviamente no me deja, por que el campo depende de una expresion..
alguien puede darme una mano???
salu2 desde Chile
Eduardo
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 Alejandro

Cálculo condicional para campo "Dolar" basado en selección de moneda

Publicado por Alejandro (4142 intervenciones) el 07/06/2023 20:06:15
Hola, Eduardo.

Para solucionar tu problema, puedes utilizar una función personalizada en lugar de la función SiInm (que parece ser una función personalizada). Esta función personalizada te permitirá evaluar la condición y devolver el valor adecuado para el campo "Dolar".

Aquí te muestro cómo crear una función personalizada en Access:

1. Abre tu base de datos de Access.
2. Ve al editor de Visual Basic presionando Alt + F11.
3. En el editor, selecciona Insertar -> Módulo para agregar un nuevo módulo.
4. En el módulo, escribe el siguiente código para crear la función personalizada:

1
2
3
4
5
6
7
Public Function ObtenerValorDolar(moneda As String, tc As Double) As Double
    If moneda = "DÓLAR" Then
        ObtenerValorDolar = tc
    Else
        ObtenerValorDolar = 0 ' O cualquier otro valor por defecto para el caso de monedas distintas a DÓLAR
    End If
End Function

5. Guarda el módulo con un nombre significativo, como "ModuloFunciones".
6. Cierra el editor de Visual Basic.
7. Regresa a tu formulario y en la propiedad ControlOrigen del campo "Dolar", coloca la siguiente expresión:

1
=ObtenerValorDolar([MONEDA], [T/C])

Con esta configuración, la función personalizada "ObtenerValorDolar" evaluará el valor de la moneda seleccionada y devolverá el valor adecuado para el campo "Dolar". Si la moneda es "DÓLAR", se usará el valor del campo "T/C"; de lo contrario, se usará un valor por defecto (en este caso, 0).

Espero que esta solución te sea útil. ¡Saludos desde México!
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