Como restar un valor dependiendo de una palabra

Tengo una tabla de números de rifa,

Quiero que tenga una condición que cuando diga tickec anulado lo reste del acumulado del valor de dinero vendido por tikeck y si dice no anulado no hacer nada

2 respuestas

Respuesta
1

Sería conveniente que pusieras una imagen porque lo puedes hacer de mil formas. Por ejemplo, tengo el formulario donde puedes ver que en función del nombre del ticket te va calculando los saldos

Ahora voy a cambiar el ticket AAAA del día 04 y le voy a poner que está anulado

Ese saldo no es correcto, por tanto pulso el botón y

En el del día 04 me repite el mismo saldo que había hasta ese momento y por tanto me ha modificado el del día 06.

En este caso, pero ya te digo que sería conveniente que pusieras una imagen, el código del evento Después de actualizar del combinado Condicion es

Private Sub Condicion_AfterUpdate()
DoCmd.RunCommand acCmdSaveRecord
Saldo = DSum("precio", "tabla2", "ticket='" & Me.Ticket & "' and condicion=""VÁLIDO""")
End Sub

Y el código del evento Al hacer clic del botón es

Private Sub Comando14_Click()
For i = 1 To Me.Recordset.RecordCount
Saldo = DSum("precio", "tabla2", "ticket='" & Me.Ticket & "' and condicion=""Válido"" and idventa<=" & Me.Idventa & "")
DoCmd.GoToRecord , , acNext
Next
End Sub
Respuesta
-1

Si la leyenda es una constante:

= [suma de la Venta] * IIF([El_Campo]) = "tickec anulado", -1, 1)

Si la leyenda es libre (pero siempre pone anulado en alguna parte):
= [suma de la Venta] * IIF(InStr([El_Campo]) = "anulado"), -1, 1)

No se si es correcto restar las ventas anuladas, lo que si tendría sentido es que no se sumen, esto es: si se cumple la condición se multiplica por cero (no por -1).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas