Visual Basic - he hecho una factura pero los decimos no me cuadra

Life is soft - evento anual de software empresarial
 
Vista:

he hecho una factura pero los decimos no me cuadra

Publicado por angelus (1 intervención) el 09/02/2003 08:23:49
Hola,estoy haciendo una factura ,en la cual se ponen las unidades,precio,el descuento y luego te calcula el precio ,pero cuando abajo del todo tiene que calcular el precio total mas el 16% del iva me da un error de centimos,no me hace la operacion correctamente.yo creo que el error deben ser las variables que no estan bien declaradas,pero las he declarado en Currency,y me da error en los centimos,tambien en Single y lo mismo ,y en Double y tambien falla. alguien sabe en cual tiene que ser declarada la variable cuando se represente para calcular decimales o monedas,yo pensaba que era Currency pero ya os digo que me calcula mal los decimales.

si no entendeis lo que os digo me lo decis y pondre el codigo fuente .
salu2!!!!
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

RE:he hecho una factura pero los decimos no me cua

Publicado por Hisashi (58 intervenciones) el 09/02/2003 21:03:05
Podrías poner el código fuente por favor? Aunque Creo entender lo que quieres, pero necesito tener certeza para ver si está bien lo que estoy pensando.
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

RE:he hecho una factura pero los decimos no me cua

Publicado por angelus (7 intervenciones) el 09/02/2003 23:46:55
El error lo he encontrado en la variable "y" por que se me come los decimales ,pero no se que hacer para que no me los pierda,es extraño por que las demas variables estan como Currency igual y no me pierden ningun decimal.
a ver si me puedes echar una mano
Dim x As Currency
Dim y As Currency
Dim v As Currency

Private Sub txtiva_GotFocus()
y = Val(txtpreuto1.Text) + Val(txtpreuto2.Text)
v= y * 16 / 100
txtiva.Text = v + y
txtpessetes.Text = Val(txtiva.Text) * 166.386
End Sub

Private Sub txtpreuto1_GotFocus()

x = Val(txtqua1.Text) * Val(txtpreu1.Text) * Val(txtdescom1.Text) / 100
txtpreuto1.Text = Val(txtqua1.Text) * Val(txtpreu1.Text) - x
End Sub

Private Sub txtpreuto2_GotFocus()

x = Val(txtqua2.Text) * Val(txtpreu2.Text) * Val(txtdescom2.Text) / 100
txtpreuto2.Text = Val(txtqua2.Text) * Val(txtpreu2.Text) - x
End Sub
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

RE:he hecho una factura pero los decimos no me cua

Publicado por Pedro Luis (878 intervenciones) el 10/02/2003 11:24:04
Si es la Y la que te da problemas creo que puede ser que primero dices textiva=v+y y despues val(textiva)*166.386, ¿porqué no aprovechas lo ya calculado
(v+y)*166.386
En definitiva creo que en lostfocus deberias asignar el valor del texto a las variables y despues operar solo con las variables
Los Currency siempre me dieron problemas, generalmente uso Double
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

RE:he hecho una factura pero los decimos no me cua

Publicado por angelus (7 intervenciones) el 10/02/2003 23:28:19
Gracias ya probare,lo de (v+y)*166.386 no lo habia puesto por que soy novato,y cuando llevas dos o tres horas atascado en algo ,cosas muy basicas te pasan desapercibidas.
salu2!!! ya te contare como me ha ido
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