Hola:
En un formulario tengo un campo calculado en el que me toma el dato de
un campo y lo multiplica por una cantidad fija.
El resultado, cuando hay números complejos (entiéndase como que no son
1000, 20000, 300, etc) el resultado de multiplicarlo por 50 y
dividirlo por 100 me da un resultado erroneo:
ejemplo:
290493,84 x 50 /100 = 145246,50
cuando en realidad el resultado debería ser: 145246,92;
otro:
290493,84 x 70 /100 = 203345,10
en realidad debería ser: 203345,69.
En resumen calcula mal.
la función es:
Private Sub tipo_de_la_subasta_LostFocus()
Dim TipoSubasta As Currency
Dim ResultadoCincuenta As Currency
Dim ResultadoSetenta As Currency
Dim Tantoporciento As Currency
TipoSubasta = ValorNumerico(tipo_de_la_subasta)
Tantoporciento = ValorNumerico(txtTantoporciento)
Me.consignacion_mínima.Value = TipoSubasta * Tantoporciento / 100
TipoSubasta = ValorNumerico(tipo_de_la_subasta)
Me.Resultado_cincuenta.Value = TipoSubasta * 50 / 100
TipoSubasta = ValorNumerico(tipo_de_la_subasta)
Me.resultado_setenta.Value = TipoSubasta * 70 / 100
End Sub
Donde "ValorNumerico" es un módulo;
Option Compare Database
Option Explicit
Public Function ValorNumerico(valor As Variant) As Long
ValorNumerico = Val(Nz(valor, ""))
End Function
En la propiedad Formato del formulario, el tipo de dato de
tiposubasta, resultadocincuenta y resultadosetenta son de tipo
estandar con 2 decimales y el campo tanto por ciento es estandar sin
decimales.
Muchas gracias de antemano
Leer las respuestas