Access 2003 : condición IF sobre un campo
Resuelto
sebbiker
Mensajes publicados
9
Estado
Miembro
-
Salsero77 -
Salsero77 -
Hola,
Soy principiante en programación Access 2003 y no sé cómo programar esto en un formulario:
tengo 1 campo "facturación", 1 campo "margen bruto", 1 campo "margen neto", 4 otros campos.
Lo que quiero para el campo "Margen Neto":
SI facturación = 0 ENTONCES margen neto = margen bruto
SI NO margen neto = (una fórmula de cálculo basada en los 4 otros campos (solo sumas o restas))
Intenté programarlo pero no funcionó.
Gracias por la ayuda.
Seb
Soy principiante en programación Access 2003 y no sé cómo programar esto en un formulario:
tengo 1 campo "facturación", 1 campo "margen bruto", 1 campo "margen neto", 4 otros campos.
Lo que quiero para el campo "Margen Neto":
SI facturación = 0 ENTONCES margen neto = margen bruto
SI NO margen neto = (una fórmula de cálculo basada en los 4 otros campos (solo sumas o restas))
Intenté programarlo pero no funcionó.
Gracias por la ayuda.
Seb
Configuración: Windows XP Internet Explorer 7.0
5 respuestas
-
Varia neta: Verdadero/Falso([Facturación]=0;[MargenBruto];([precio1]-[costo2])+([costo1]-[costo2])+[precio bonificación])
-
No estoy seguro de si quieres la traducción al español o una expresión en lenguaje de Access (VBA/SQL) para una consulta o función. Aquí te dejo ambas opciones para que elijas la que necesitas.
1) Traducción al español (manteniendo el formato HTML):
No es exactamente eso. Quiero saber cómo expresar esta condición:
El valor de "margen neto" depende de esta condición:
SI "facturación" = 0 ENTONCES "margen neto" = "margen bruta" (de hecho la "margen neto" toma el valor de la margen bruta)
SI NO (por lo tanto "facturación" = un valor en €)
"margen neto" = ((precio1 - precio2) + (costes1 - costes2) + precio bono)
Voilà lo que necesito.
2) Expresión equivalente en lenguaje Access (VBA/SQL):
Si quieres una regla en VBA dentro de Access, podría ser algo así:
If [facturation] = 0 Then
[marge nette] = [marge brute]
Else
[marge nette] = (([prix1] - [prix2]) + ([couts1] - [couts2]) + [prix bonus])
End If
Si prefieres una expresión de campo calculado en una consulta de Access (SQL/DAO), podría ser:
MargeNette: IIf([facturation] = 0, [marge brute], ([prix1] - [prix2]) + ([couts1] - [couts2]) + [prix bonus])
Remplace les noms entre crochets por los nombres reales de tus campos en la base de datos. Si necesitas que lo adapte exactamente a tu estructura (nominal nombres de campos), pásame esos nombres y te lo ajusto. -
Buenas noches,
Si no hay malentendidos, debería verse así:
=iff([facturation] = 0 ; [Marge_Nette] = [Marge_Brute] ; [Marge_Nette]= ([prix1] - [prix2])+ (([couts1])-([couts2])+[Prix_Bonus) )
El primer ";" significa "entonces"
El segundo ";" significa "Entonces"
NB : No he realizado ningún ensayo
Saludos cordiales -
Hola,
En el formulario que resume los datos, es necesario crear un campo de texto en el que se realicen los cálculos aritméticos:
Aquí un ejemplo: (el que aparece en la ayuda en línea) que adaptarás.
= IIf([Montant] > 1000, "Élevé", "Modeste")
Atención: en este contexto, el resultado de los cálculos no se registra en la tabla subyacente.
Nota: Estas indicaciones se refieren a Access 2000 -
Hola,
OK voy a probar y les digo mañana por la mañana.
Gracias de antemano.
Sébastien