
Redondeo y validación
Publicado por Muldrigo (9 intervenciones) el 26/08/2015 15:36:52
Buenas a todos
Tengo un campo de [PVP] , al que en ocasiones aplico un [DESCUENTO], al terminar de rellenar los datos del registro pulso un boton de [GUARDAR] y paso a un nuevo registro.
Al pulsar [GUARDAR] tengo otros dos campos [TARJETA] y [EFECTIVO] entre los que tiene que dar la suma de [PVP] y si no es correcta la suma sale un cuadro de mensaje con el aviso correspondiente.
En principio fucniona correctamente, salvo cuando el importe calculado con descuento tiene decimales
EJEMPLO:
_______OK________
Precio art = 250
Descuento = 50%
PVP = 125
[TARJETA] + [EFECTIVO] = [PVP]
_______OK________
_____ERROR______
Precio art = 255
Descuento = 50%
PVP = 127,5
[TARJETA] + [EFECTIVO] <> [PVP]
_____ERROR______
El error creo que lo da porque el campo [PVP] tiene 0 decimales, redondeando en el ejemplo anterior a 128.
La solución facil sería entonces permitir los decimales, pero las ventas tienen que ser con numeros enteros, etonces ¿cómo podría a la hora de hacer el descuento obligar a que me de un numero entero?
Saludos, espero haberme explicado bien.
PD: Este es el código que uso para actualizar el [PVP] al aplicar el descuento
Tengo un campo de [PVP] , al que en ocasiones aplico un [DESCUENTO], al terminar de rellenar los datos del registro pulso un boton de [GUARDAR] y paso a un nuevo registro.
Al pulsar [GUARDAR] tengo otros dos campos [TARJETA] y [EFECTIVO] entre los que tiene que dar la suma de [PVP] y si no es correcta la suma sale un cuadro de mensaje con el aviso correspondiente.
En principio fucniona correctamente, salvo cuando el importe calculado con descuento tiene decimales
EJEMPLO:
_______OK________
Precio art = 250
Descuento = 50%
PVP = 125
[TARJETA] + [EFECTIVO] = [PVP]
_______OK________
_____ERROR______
Precio art = 255
Descuento = 50%
PVP = 127,5
[TARJETA] + [EFECTIVO] <> [PVP]
_____ERROR______
El error creo que lo da porque el campo [PVP] tiene 0 decimales, redondeando en el ejemplo anterior a 128.
La solución facil sería entonces permitir los decimales, pero las ventas tienen que ser con numeros enteros, etonces ¿cómo podría a la hora de hacer el descuento obligar a que me de un numero entero?
Saludos, espero haberme explicado bien.
PD: Este es el código que uso para actualizar el [PVP] al aplicar el descuento
1
2
3
Private Sub Descuento_AfterUpdate()
If Descuento <> "" Then PVP_1 = (Uds_Venta * PVP) - ((Uds_Venta * PVP) * (Descuento / 100)) Else: PVP_1 = Uds_Venta * PVP
End Sub
Valora esta pregunta


0