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

numeros decimales

Estas en el tema de numeros decimales en el foro de ASP Clásico en Foros del Web. Dim Valor TK = Request.Form("TK") Mesa = Request.Form("Mesa") Cantidad = Request.Form("Cantidad") subcatagory= Request.Form("subcatagory") FOR i = 1 to request.form("subcatagory").count sql1 = "SELECT Valor FROM Tabla2 ...
  #1 (permalink)  
Antiguo 23/08/2004, 12:07
 
Fecha de Ingreso: agosto-2004
Mensajes: 81
Antigüedad: 19 años, 10 meses
Puntos: 0
Pregunta numeros decimales

Dim Valor

TK = Request.Form("TK")
Mesa = Request.Form("Mesa")
Cantidad = Request.Form("Cantidad")
subcatagory= Request.Form("subcatagory")

FOR i = 1 to request.form("subcatagory").count
sql1 = "SELECT Valor FROM Tabla2 Where subcatagory = '"&request("subcatagory").item(i)&"' "
rs.Open sql1, conexion, 3, 3

Valor = (rs("Valor"))
Response.write sql1 & " = " & Valor &" <br>"

sql11 = "INSERT INTO Mesa1 (TK, subcatagory, Mesa, Cantidad, Valor) VALUES ("&TK&", '"&request("subcatagory").item(i)&"', "&Mesa&", "&Cantidad&", "&Valor&")"
conexion.execute(sql11)


esta parte del codigo muestra que la primer consulta toma un valor de un campo de una tabla relacionado con un item seleccionado en un form.

la segunda consulta inserta en un tabla los valores obtenidos del form y el valor de la primer consulta mi pregunta es porque no me toma valores decimales la primer consulta si ambas tablas la de origen y destino poseen misma propiedades (ej decimal, currency) el error que se produce haciendo referencia a la segunda consulta es(esto se produce solo con valores decimales si no las consultas funcionan sin problemas):

Microsoft JET Database Engine (0x80040E14)
El número de valores de consulta y el número de campos de destino son diferentes

alguien sabe que falta yo he probado con formatnumber pero no hubo caso, gracias .
  #2 (permalink)  
Antiguo 23/08/2004, 12:15
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Ya sabes, mi estimado davidmz23, que es de mucha más utilidad que postees la consulta generada, en este caso lo que sql11 tiene.
Aunque por el error supongo que tienes cantidades con comas (no haz configurado el LCID ), y ello hace que se tomen mas parámetros de los que realmente pretendes mandar.

Saludos
  #3 (permalink)  
Antiguo 23/08/2004, 12:29
 
Fecha de Ingreso: agosto-2004
Mensajes: 81
Antigüedad: 19 años, 10 meses
Puntos: 0
no copie esa parte del codigo pero esta posteado pero cuando el valor es decimal solo da error.
Myakire Lcid solo se utiliza cuando la pagina se sube a un servidor x o es necesario tambien para internet information server?
  #4 (permalink)  
Antiguo 23/08/2004, 12:37
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
LCID es un valor que el IIS (del que ejecuta la página, tu máquina o el servidor) toma para interpretar las fecha y valores numéricos. Por default el IIS (o el web server que ejecute el ASP) toma la configuración de la configuración regional.

Lo más seguro es que tus valores numericos estan configurados con coma como separador de decimales (23,76 en lugar de 23.75, por ejemplo), y eso hace que el decimal se considere un parámetro extra.

Especifica el LCID que necesites según la tabla del link que te pasé, por ejemplo:

Session.LCID = 2058 'Mexico (comas y punto)
Session.LCID = 11274 'argentina (puntos y coma)

Saludos
  #5 (permalink)  
Antiguo 23/08/2004, 12:48
 
Fecha de Ingreso: agosto-2004
Mensajes: 81
Antigüedad: 19 años, 10 meses
Puntos: 0
he colocado session.lcid = 11274(que es el numero que preciso) pero sigue con el mismo problema
  #6 (permalink)  
Antiguo 23/08/2004, 13:08
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Si defines session.lcid = 11274 (puntos como separador de los miles y coma para los decimales), entonces no haz arreglado nada; ¿te das cuenta?, el problema sigue siendo esa coma que hace que el decimal se tome como otro parámetro.

Nunca me había puesto a pensar como le hacen por allá para este problema, tal vez dazuaga nos pueda decir como le hace él; pero yo utilizaría para salir del paso un AddNew en lugar de un insert, o bien utilizar un text en lugar de un dato numérico, tambien podría utilizar el 2058 de LCID para que no tuviera problemas e imprimir formateando la cantidad.

El chiste es comprender exactamente lo que provoca el problema para poder solucionarlo (en este caso, la coma de los decimales).

Última edición por Myakire; 23/08/2004 a las 13:53
  #7 (permalink)  
Antiguo 23/08/2004, 13:23
 
Fecha de Ingreso: agosto-2004
Mensajes: 81
Antigüedad: 19 años, 10 meses
Puntos: 0
tenias razon gracias a ti lo he podido solucionar nuevamente gracias Myakire.
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 14:34.