Error al Recoger dato de un formulario

05/09/2006 - 15:21 por Aura | Informe spam
Hola a todos !

A ver quien me puede ayudar. En un formulario recogo un valor el qual debe
ser un decimal ( double) es decir p.ej.: 11112,25 o provando con "." 11112.25

Y me de el siguiente error:
Microsoft VBScript runtime (0x800A01A8)
Object required: '[string: "11112,25050000000"]'
/pfc/afegirF.asp, línea 32

Y el codigo es el siguiente:
en el formulario
<input name="presupuesto" type="text" size="20">

en la otra pagina que recogo--
pres = Trim(Request.Form("presupuesto"))
NOTA: lo he provado sacando el Trim() i no funciona

Muchas gracias !

Preguntas similare

Leer las respuestas

#1 Matias Iacono
05/09/2006 - 16:13 | Informe spam
A simple vista no hay nada incorrecto.

Puedes colocar el codigo de las dos paginas para ver mas a detalle?

Saludos.

Microsoft MVP
Orador Regional INETA


"Aura" wrote:

Hola a todos !

A ver quien me puede ayudar. En un formulario recogo un valor el qual debe
ser un decimal ( double) es decir p.ej.: 11112,25 o provando con "." 11112.25

Y me de el siguiente error:
Microsoft VBScript runtime (0x800A01A8)
Object required: '[string: "11112,25050000000"]'
/pfc/afegirF.asp, línea 32

Y el codigo es el siguiente:
en el formulario
<input name="presupuesto" type="text" size="20">

en la otra pagina que recogo--
pres = Trim(Request.Form("presupuesto"))
NOTA: lo he provado sacando el Trim() i no funciona

Muchas gracias !
Respuesta Responder a este mensaje
#2 Manuel Vera
05/09/2006 - 23:01 | Informe spam
Hola Aura

¿podrias escribir las lineas 25 a la 35 de tu codigo?
Las de este archivo: /pfc/afegirF.asp, línea 32
Para ver que codigo es ese que genera el error.

¿haces alguna conversion en JavaScript cuando envias el formulario?
¿ese valor double lo tipeas tu en el form o lo cargas desde el codigo?

Salu2
MV


"Matias Iacono" escribió en el
mensaje news:
A simple vista no hay nada incorrecto.

Puedes colocar el codigo de las dos paginas para ver mas a detalle?

Saludos.

Microsoft MVP
Orador Regional INETA


"Aura" wrote:

Hola a todos !

A ver quien me puede ayudar. En un formulario recogo un valor el qual
debe
ser un decimal ( double) es decir p.ej.: 11112,25 o provando con "."
11112.25

Y me de el siguiente error:
Microsoft VBScript runtime (0x800A01A8)
Object required: '[string: "11112,25050000000"]'
/pfc/afegirF.asp, línea 32

Y el codigo es el siguiente:
en el formulario
<input name="presupuesto" type="text" size="20">

en la otra pagina que recogo--
pres = Trim(Request.Form("presupuesto"))
NOTA: lo he provado sacando el Trim() i no funciona

Muchas gracias !
Respuesta Responder a este mensaje
#3 Aura
06/09/2006 - 08:49 | Informe spam
Hola chicos !

La respuesta es:
¿haces alguna conversion en JavaScript cuando envias el formulario? NO
¿ese valor double lo tipeas tu en el form o lo cargas desde el codigo? NO lo tipeo, solamente lo introduzco y lo recogo. Este tiene que ser con 2 decimales para despues realizar operaciones.



Pues aquí teneis el código de AfegirF.asp hasta la línea 49:

<% Dim miconn, RS, idsubv, añadir, todo_OK

If (Request.Form<>"" and Request.Form("idobra")="") then
Response.Write("Error id!")
añadir = False
Else

id = Request.Form("idobra")
pres = Trim(Request.Form("pressupost"))
pg = Request("pg")
mn = Request.Form("mn")
at = Request.Form("at")
ur = Request.Form("ur")
dg = Request.Form("dg")
pb = Request.Form("pb")

todo_OK = True
set total_subv = pg + mn + at + ur + dg + pb

Set miconn = Server.CreateObject("ADODB.Connection")
miconn.open "DSN=Obresp;UID=;Password=;"

sSQL = "SELECT * FROM obra WHERE idobra="&id
set RS = miconn.Execute(sSQL)

If Err.Description <> "" then
tot_OK = False
Else
set ct_pg = RS("cont_pg")
set ct_mn = RS("cont_mn")
set ct_at = RS("cont_at")
set ct_ur = RS("cont_ur")
set ct_dg = RS("cont_dg")
set ct_pb = RS("cont_pb")
set ct_sub = RS("cont_subv")
set ct_pres = RS("cont_pres")
End if
RS.Close
miconn.Close
set miconn = NothinG
set RS = Nothing
End if

Muchas gracias !
"Manuel Vera" wrote:

Hola Aura

¿podrias escribir las lineas 25 a la 35 de tu codigo?
Las de este archivo: /pfc/afegirF.asp, línea 32
Para ver que codigo es ese que genera el error.

¿haces alguna conversion en JavaScript cuando envias el formulario?
¿ese valor double lo tipeas tu en el form o lo cargas desde el codigo?

Salu2
MV


"Matias Iacono" escribió en el
mensaje news:
>A simple vista no hay nada incorrecto.
>
> Puedes colocar el codigo de las dos paginas para ver mas a detalle?
>
> Saludos.
>
> Microsoft MVP
> Orador Regional INETA
>
>
> "Aura" wrote:
>
>> Hola a todos !
>>
>> A ver quien me puede ayudar. En un formulario recogo un valor el qual
>> debe
>> ser un decimal ( double) es decir p.ej.: 11112,25 o provando con "."
>> 11112.25
>>
>> Y me de el siguiente error:
>> Microsoft VBScript runtime (0x800A01A8)
>> Object required: '[string: "11112,25050000000"]'
>> /pfc/afegirF.asp, línea 32
>>
>> Y el codigo es el siguiente:
>> en el formulario
>> <input name="presupuesto" type="text" size="20">
>>
>> en la otra pagina que recogo--
>> pres = Trim(Request.Form("presupuesto"))
>> NOTA: lo he provado sacando el Trim() i no funciona
>>
>> Muchas gracias !



Respuesta Responder a este mensaje
#4 Manuel Vera
06/09/2006 - 13:34 | Informe spam
En el texto.


"Aura" escribió en el mensaje
news:
Pues aquí teneis el código de AfegirF.asp hasta la línea 49:



R: ¿cual es la linea 32?


<% Dim miconn, RS, idsubv, añadir, todo_OK

If (Request.Form<>"" and Request.Form("idobra")="") then
Response.Write("Error id!")
añadir = False
Else

id = Request.Form("idobra")
pres = Trim(Request.Form("pressupost"))
pg = Request("pg")
mn = Request.Form("mn")
at = Request.Form("at")
ur = Request.Form("ur")
dg = Request.Form("dg")
pb = Request.Form("pb")

todo_OK = True
set total_subv = pg + mn + at + ur + dg + pb

Set miconn = Server.CreateObject("ADODB.Connection")
miconn.open "DSN=Obresp;UID=;Password=;"

sSQL = "SELECT * FROM obra WHERE idobra="&id



R: cuando estas concatenando cadenas de texto con variables tienes que
colocar espacios en blanco a ambos lados del signo &, así:
idobra=" & id

set RS = miconn.Execute(sSQL)

If Err.Description <> "" then



R: para usar esto debes haber activado el manejo de errores, lo cual no veo
que hayas hecho. Deberias tener una linea antes del IF como:
ON ERROR RESUME NEXT

tot_OK = False
Else
set ct_pg = RS("cont_pg")
set ct_mn = RS("cont_mn")
set ct_at = RS("cont_at")
set ct_ur = RS("cont_ur")
set ct_dg = RS("cont_dg")
set ct_pb = RS("cont_pb")
set ct_sub = RS("cont_subv")
set ct_pres = RS("cont_pres")
End if
RS.Close
miconn.Close
set miconn = NothinG
set RS = Nothing
End if

Muchas gracias !
Respuesta Responder a este mensaje
#5 Matias Iacono
06/09/2006 - 14:38 | Informe spam
Hay un par de lineas que me llaman la atencion:

Dim miconn, RS, idsubv, añadir, todo_OK

Nunca usar caracteres españoles. Variables con acentos o ñ no son
recomendables. Posiblemente el interprete no te diga nada, pero puede traerte
problemas luego.

Y la otra linea es:

set total_subv = pg + mn + at + ur + dg + pb

Si total_subv no es mas que un string o alguna variable simple, no es
necesario usar set para pasar la suma de los datos.

Si lo que quieres es simplemente concatenar strings usa & no +.

Aunque el error lo da mas arriba, sigo sin ver algun problema. Salvo que
pres sea una palabra reservada. :)

Como dato curioso, usar variables con el nombre de ID me ha traido
comportamientos extraños en algunos desarrollos.

Saludos.


Microsoft MVP
Orador Regional INETA


"Aura" wrote:

Hola chicos !

La respuesta es:
> ¿haces alguna conversion en JavaScript cuando envias el formulario? NO
> ¿ese valor double lo tipeas tu en el form o lo cargas desde el codigo? NO lo tipeo, solamente lo introduzco y lo recogo. Este tiene que ser con 2 decimales para despues realizar operaciones.

Pues aquí teneis el código de AfegirF.asp hasta la línea 49:

<% Dim miconn, RS, idsubv, añadir, todo_OK

If (Request.Form<>"" and Request.Form("idobra")="") then
Response.Write("Error id!")
añadir = False
Else

id = Request.Form("idobra")
pres = Trim(Request.Form("pressupost"))
pg = Request("pg")
mn = Request.Form("mn")
at = Request.Form("at")
ur = Request.Form("ur")
dg = Request.Form("dg")
pb = Request.Form("pb")

todo_OK = True
set total_subv = pg + mn + at + ur + dg + pb

Set miconn = Server.CreateObject("ADODB.Connection")
miconn.open "DSN=Obresp;UID=;Password=;"

sSQL = "SELECT * FROM obra WHERE idobra="&id
set RS = miconn.Execute(sSQL)

If Err.Description <> "" then
tot_OK = False
Else
set ct_pg = RS("cont_pg")
set ct_mn = RS("cont_mn")
set ct_at = RS("cont_at")
set ct_ur = RS("cont_ur")
set ct_dg = RS("cont_dg")
set ct_pb = RS("cont_pb")
set ct_sub = RS("cont_subv")
set ct_pres = RS("cont_pres")
End if
RS.Close
miconn.Close
set miconn = NothinG
set RS = Nothing
End if

Muchas gracias !
"Manuel Vera" wrote:

> Hola Aura
>
> ¿podrias escribir las lineas 25 a la 35 de tu codigo?
> Las de este archivo: /pfc/afegirF.asp, línea 32
> Para ver que codigo es ese que genera el error.
>
> ¿haces alguna conversion en JavaScript cuando envias el formulario?
> ¿ese valor double lo tipeas tu en el form o lo cargas desde el codigo?
>
> Salu2
> MV
>
>
> "Matias Iacono" escribió en el
> mensaje news:
> >A simple vista no hay nada incorrecto.
> >
> > Puedes colocar el codigo de las dos paginas para ver mas a detalle?
> >
> > Saludos.
> >
> > Microsoft MVP
> > Orador Regional INETA
> >
> >
> > "Aura" wrote:
> >
> >> Hola a todos !
> >>
> >> A ver quien me puede ayudar. En un formulario recogo un valor el qual
> >> debe
> >> ser un decimal ( double) es decir p.ej.: 11112,25 o provando con "."
> >> 11112.25
> >>
> >> Y me de el siguiente error:
> >> Microsoft VBScript runtime (0x800A01A8)
> >> Object required: '[string: "11112,25050000000"]'
> >> /pfc/afegirF.asp, línea 32
> >>
> >> Y el codigo es el siguiente:
> >> en el formulario
> >> <input name="presupuesto" type="text" size="20">
> >>
> >> en la otra pagina que recogo--
> >> pres = Trim(Request.Form("presupuesto"))
> >> NOTA: lo he provado sacando el Trim() i no funciona
> >>
> >> Muchas gracias !
>
>
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida