Access - Division por cero en multiplicacion

 
Vista:

Division por cero en multiplicacion

Publicado por ROBERTO (145 intervenciones) el 08/02/2012 10:55:18
Buenas. Mi problema es que tengo un codigo en un boton de comando que hace lo siguiente:

MODIFIFACTURACION:
While Not rst.EOF
rst.Edit
'PORCEN = (Me.FOBXUNI / Me.Texto88)
rst![PORCTRANSINT] = [TRANSINTER] *[PORCENPED]
rst![PORCTRANSPROV] = [TRANSPROV] * [PORCENPED]
rst![EURORMB] = Me.EUR_RMB
rst![VTARMB] = rst![PREVTA] * rst![EURORMB]
rst![DSXRMB] = rst![CANT] * rst![VTARMB]
rst![IVARMB] = rst![DSXRMB] * 0.17
rst![TOTRMB] = rst![DSXRMB] + rst![IVARMB]
rst![TOTDISENO] = Me.COGEDISE
rst![COSTOSIN] = ((rst![FOBNUEVO] * rst![CANT]) + rst![PORCTRANSPROV] + Nz(rst![TOTDISENO]))
rst![BENEF] = (rst![DSXRMB] - rst![COSTOSIN]) + (rst!PORCTRANSINT)
rst.Update
rst.MoveNext
'GoTo MODIFIFACTURACION
'Else
'MsgBox ("Registros de Facturación modificados correctamente"), vbCritical
'GoTo FIN
'End If
Wend
MsgBox ("Registros de Facturación modificados correctamente"), vbCritical
GoTo FIN

* Al ejecutar el código me dá error en la linea rst![PORCTRANSINT] = [TRANSINTER] *[PORCENPED]
y el error es el nº 11 divison por cero. Pero es una multiplicación y no lo entiendo la verdad. En este caso el valor de TRANSINTER es 0 y el de PORCENPED es 0,5 lo que deberia dar 0 como resultado y nada más pero me da este error. No entiendo muy bien por que. TRANSINTER Y PORCENPED son cuadros de texto que tengo en el subformulario que toman un valor del formulario principal.
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
Imágen de perfil de Enrique Ramírez
Val: 37
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Division por cero en multiplicacion

Publicado por Enrique Ramírez (629 intervenciones) el 08/02/2012 15:51:35
quiza esta solución sea un poco "arcaica" y nada depurada pero evitas el error

IF [TRANSINTER] = 0 Or [PORCENPED] = 0
rst![PORCTRANSINT] = 0
ELSE
rst![PORCTRANSINT] = [TRANSINTER] *[PORCENPED]
END IF
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

Division por cero en multiplicacion

Publicado por ROBERTO (145 intervenciones) el 08/02/2012 19:02:00
El tema es que en la primera linea donde dice PORCEN = (Me.FOBXUNI / Me.Texto88) tambien me da error de division por cero cuando tanto el campo FOBXUNI como Texto88 tienen valor. De hecho la division debe dar 0,5. La variable PORCEN la he dimensionado como 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

Division por cero en multiplicacion

Publicado por JOSE (830 intervenciones) el 08/02/2012 21:06:16
puede que alguno de los campos lo entienda como texto

'PORCEN = (val(Me.FOBXUNI) / val(Me.Texto88))



ver tambien la instrucion isnull(variable) para hacer comprobaciopnes




un saludo
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

Division por cero en multiplicacion

Publicado por R (145 intervenciones) el 09/02/2012 09:53:16
Nada me sigue dando el mismo error. El caso es que despues de darme el error y entrar en el código para depurarlo, al posicionarme sobre las variables tanto FOXUNI como Texto88 aparecen con valores pero la variable PORCEN aparece con estos símbolos. PORCEN = 1,#INF
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