Foros del Web » Programando para Internet » ASP Clásico »

Microsoft VBScript runtime error '800a000b' Division by zero

Estas en el tema de Microsoft VBScript runtime error '800a000b' Division by zero en el foro de ASP Clásico en Foros del Web. Hola, solo queria preguntar si si ustedes ven algun error en mi code porq me marca ese error pero no se por que yo lo ...
  #1 (permalink)  
Antiguo 01/07/2010, 15:02
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 17 años, 1 mes
Puntos: 2
Microsoft VBScript runtime error '800a000b' Division by zero

Hola, solo queria preguntar si si ustedes ven algun error en mi code porq me marca ese error pero no se por que yo lo veo bien, el error esta en la linea 10 de el siguiente codigo:
Código ASP:
Ver original
  1. SET conexion2=Server.CreateObject("ADODB.Connection")
  2.             conexion2.Open "PROVIDER=SQLOLEDB; DATA SOURCE=VALP-MESSRV02;UID=sa;PWD=messrv;DATABASE=wasp "
  3.             SET registros2=Server.CreateObject("ADODB.RecordSet")
  4.         response.write("SELECT AVG(PESO)as promedio,o.linea from Optimas as o INNER JOIN pesos as p on o.codigo =p.codoptima WHERE fecha >='"&fecha&"' AND hora='"&horamia&"' AND o.linea='"&linea&"' GROUP BY LINEA")
  5.         registros2.open"SELECT AVG(PESO)as promedio,o.linea from Optimas as o INNER JOIN pesos as p on o.codigo =p.codoptima WHERE fecha >='"&fecha&"' AND hora='"&horamia&"' AND o.linea='"&linea&"' GROUP BY LINEA",conexion2
  6.         do while not registros2.eof
  7.         promedio=cint(registros2.fields("promedio"))
  8.         'c=(registros2.fields("peso"))
  9.         'b=(a-c)/target
  10.         OP=(promedio-target)/target
  11.         response.write("Promedio: <b>"&registros2.fields("promedio")&"</b><br>")
  12.     '############## Aritmetica ####################
  13.     ' C = Promedio  WHERE B=(a-c)/a
  14.     ' A = Target
  15.     saving=(PROMEDIO-target)*NumBolsas
  16.     if OP<=0 then   response.write(" Op: <b>"&OP&"</b><img src='http://www.pact-oil.co.uk/images/error.gif'</a><br>") else response.write(" Op: <b>"&OP&"</b><img src='http://www.hospitalsierrallana.com/imagenes/gif_ok.gif'</a><br>")    end if
  17.         response.write("Saving:<b> "&saving&" KG</b>") 
  18.        
  19.        
  20.         registros2.movenext
  21.     loop
  22.        
  23.         conexion2.close
  #2 (permalink)  
Antiguo 01/07/2010, 15:47
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 11 meses
Puntos: 98
Respuesta: Microsoft VBScript runtime error '800a000b' Division by zero

El error te esta diciendo que no puedes hacer una division por cero, tienes que agregar una condicion:

Código ASP:
Ver original
  1. if promedio > 0 then
  2.   OP=(promedio-target)/target
  3. else
  4.   OP = 0
  5. end if
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 06/07/2010, 08:46
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 17 años, 1 mes
Puntos: 2
Respuesta: Microsoft VBScript runtime error '800a000b' Division by zero

Hola me sigue marcando error en esta linea:
OP=(promedio-target)/target

Código ASP:
Ver original
  1. SET conexion2=Server.CreateObject("ADODB.Connection")
  2.             conexion2.Open "PROVIDER=SQLOLEDB; DATA SOURCE=VALP-MESSRV02;UID=sa;PWD=messrv;DATABASE=wasp "
  3.             SET registros2=Server.CreateObject("ADODB.RecordSet")
  4.         'response.write("SELECT AVG(PESO)as promedio,o.linea from Optimas as o INNER JOIN pesos as p on o.codigo =p.codoptima WHERE fecha >='"&fecha&"' AND hora='"&horamia&"' AND o.linea='"&linea&"' GROUP BY LINEA")
  5.         registros2.open"SELECT AVG(PESO)as promedio,o.linea from Optimas as o INNER JOIN pesos as p on o.codigo =p.codoptima WHERE fecha >='"&fecha&"' AND hora='"&horamia&"' AND o.linea='"&linea&"' GROUP BY LINEA",conexion2
  6.         do while not registros2.eof
  7.         promedio=cint(registros2.fields("promedio"))
  8.         'c=(registros2.fields("peso"))
  9.         'b=(a-c)/target
  10.         if promedio > 0 then
  11.         OP=(promedio-target)/target
  12.         else
  13.         OP=0
  14.         end if
  15.         response.write("Promedio: <b>"&registros2.fields("promedio")&"</b><br>")
  16.     '############## Aritmetica ####################
  17.     ' C = Promedio  WHERE B=(a-c)/a
  18.     ' A = Target
  19.     saving=(PROMEDIO-target)*NumBolsas
  20.     if OP<=0 then   response.write(" Op: <b>"&OP&"</b><img src='http://www.pact-oil.co.uk/images/error.gif'</a><br>") else response.write(" Op: <b>"&OP&"</b><img src='http://www.hospitalsierrallana.com/imagenes/gif_ok.gif'</a><br>")    end if
  21.         response.write("Saving:<b> "&saving&" KG</b>") 
  22.        
  23.        
  24.         registros2.movenext
  25.     loop
  26.        
  27.         conexion2.close
  28.        
  29. %>
  #4 (permalink)  
Antiguo 06/07/2010, 09:43
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 11 meses
Puntos: 98
Respuesta: Microsoft VBScript runtime error '800a000b' Division by zero

Imprime esas dos variables, alguna de las dos tiene un valor de 0, ahora que lo veo mejor seguramente es la variable target.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway

Etiquetas: division, microsoft, runtime, vbscript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:56.