Consultas en ASP Vs Access

02/10/2004 - 01:21 por Diego S. | Informe spam
Hola foreros, aqui nuevamente con problmeas de asp y maldito access.


resumo mi problema a algo muy simple

Si abro el Access y pongo nueva consulta y voy a SQL y pongo


select replace('HOLA MUNDO','H','#') as PPP

Me muestra correctamente una columna llamada PPP que contiene El texto '#OLA
MUNDO'

Ahora en un ASP, pongo

<%
Set cmd = Server.CreateObject("ADODB.Command")
Set rs = Server.CreateObject("ADODB.Recordset")
cmd.ActiveConnection ="DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=c:\base.mdb"
cmd.CommandText ="select replace(3/4,'.',',') as PPP"
Set rs = Cmd.execute
Do while not rs.EOF
response.write rs(0)
rs.movenext
Loop
If rs.state=1 then rs.close
set rs = nothing
Set cmd = Nothing
%>

No funciona y me tira un error en

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Undefined function 'replace' in
expression.


Es decir que no reconoce el replace... pero sin embargo, en el access
funciona

NOTA: El codigo ASP lo copie y lo pegue tal cual, no tengo problemas de
conexion a base o errores de sintaxis. (puede que me haya olvidado de pegar
algo. Pero el ASP anda. no viene el problema por el codigo, sino por que
desde ASP con el comandtext, se ve que no me reconoce el replace, pero
vuelvo a repetir, desde access anda.
Entonces, la consulta se ejecuta fuera de acces?
Si es asi como puede hacer para que me tire correctamente esto?????

Preguntas similare

Leer las respuestas

#1 Manuel Etcheto
02/10/2004 - 21:30 | Informe spam
Hola
Replace es una función de texto, y la estás queriendo usar con números

Si nos dices qué es lo que necesitas hacer, te podremos ayudar...

Suerte
Manuel


"Diego S." wrote in message
news:
Hola foreros, aqui nuevamente con problmeas de asp y maldito access.


resumo mi problema a algo muy simple

Si abro el Access y pongo nueva consulta y voy a SQL y pongo


select replace('HOLA MUNDO','H','#') as PPP

Me muestra correctamente una columna llamada PPP que contiene El texto


'#OLA
MUNDO'

Ahora en un ASP, pongo

<%
Set cmd = Server.CreateObject("ADODB.Command")
Set rs = Server.CreateObject("ADODB.Recordset")
cmd.ActiveConnection ="DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=c:\base.mdb"
cmd.CommandText ="select replace(3/4,'.',',') as PPP"
Set rs = Cmd.execute
Do while not rs.EOF
response.write rs(0)
rs.movenext
Loop
If rs.state=1 then rs.close
set rs = nothing
Set cmd = Nothing
%>

No funciona y me tira un error en

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Undefined function 'replace' in
expression.


Es decir que no reconoce el replace... pero sin embargo, en el access
funciona

NOTA: El codigo ASP lo copie y lo pegue tal cual, no tengo problemas de
conexion a base o errores de sintaxis. (puede que me haya olvidado de


pegar
algo. Pero el ASP anda. no viene el problema por el codigo, sino por que
desde ASP con el comandtext, se ve que no me reconoce el replace, pero
vuelvo a repetir, desde access anda.
Entonces, la consulta se ejecuta fuera de acces?
Si es asi como puede hacer para que me tire correctamente esto?????





Respuesta Responder a este mensaje
#2 Diego S.
03/10/2004 - 06:11 | Informe spam
Perdon, pero a mi, el replace, me sirve tanto para numero como textos en VBS

Si yo en un VBS hago

msgbox replace(1234,"4","1")
O bien en asp pongo
response.write replace(1234,"4","1")

me aparece correctamente

1231

La cuestion no es saber mas o menos por el tema del replace, si es de texto
o de numeros o de moneda, ese tema anda., es decir no es ahora el tema
central de discusion.

El tema es que en el Access Anda al poner
Select replace('HOLA MUNDO','H','#')as PP

Y en asp, al intentar poner por CommandText="Select replace('HOLA
MUNDO','H','#')as PP" me dice el error de la funcion. etx etc etz




"Manuel Etcheto" wrote in message
news:
Hola
Replace es una función de texto, y la estás queriendo usar con números

Si nos dices qué es lo que necesitas hacer, te podremos ayudar...

Suerte
Manuel


"Diego S." wrote in message
news:
> Hola foreros, aqui nuevamente con problmeas de asp y maldito access.
>
>
> resumo mi problema a algo muy simple
>
> Si abro el Access y pongo nueva consulta y voy a SQL y pongo
>
>
> select replace('HOLA MUNDO','H','#') as PPP
>
> Me muestra correctamente una columna llamada PPP que contiene El texto
'#OLA
> MUNDO'
>
> Ahora en un ASP, pongo
>
> <%
> Set cmd = Server.CreateObject("ADODB.Command")
> Set rs = Server.CreateObject("ADODB.Recordset")
> cmd.ActiveConnection ="DRIVER={Microsoft Access Driver
> (*.mdb)};DBQ=c:\base.mdb"
> cmd.CommandText ="select replace(3/4,'.',',') as PPP"
> Set rs = Cmd.execute
> Do while not rs.EOF
> response.write rs(0)
> rs.movenext
> Loop
> If rs.state=1 then rs.close
> set rs = nothing
> Set cmd = Nothing
> %>
>
> No funciona y me tira un error en
>
> Error Type:
> Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
> [Microsoft][ODBC Microsoft Access Driver] Undefined function 'replace'


in
> expression.
>
>
> Es decir que no reconoce el replace... pero sin embargo, en el access
> funciona
>
> NOTA: El codigo ASP lo copie y lo pegue tal cual, no tengo problemas de
> conexion a base o errores de sintaxis. (puede que me haya olvidado de
pegar
> algo. Pero el ASP anda. no viene el problema por el codigo, sino por que
> desde ASP con el comandtext, se ve que no me reconoce el replace, pero
> vuelvo a repetir, desde access anda.
> Entonces, la consulta se ejecuta fuera de acces?
> Si es asi como puede hacer para que me tire correctamente esto?????
>
>
>
>
>


Respuesta Responder a este mensaje
#3 Fabian Silva
05/10/2004 - 06:38 | Informe spam
Hola, creo que si no esta fuera del texto el replace no funciona en asp, es
decir en :
cmd.CommandText ="select replace(3/4,'.',',') as PPP"
deberia ser

cmd.CommandText ="select " & replace(3/4,'.',',') & " as PPP"

en el caso de que 3/4 fuera una variable sReemplazar quedaria

cmd.CommandText ="select '" & replace(sReemplazar,'.',',') & "' as PPP"
(notese antes de la comilla doble la comilla simple y luego de la comilla
doble comilla simple)


Espero que esta respuesta sirva ya que me ha traido dolores de cabeza eso a
mi cuando no lo sabia, saludos

Fabian Silva



"Diego S." escribió en el mensaje
news:
Hola foreros, aqui nuevamente con problmeas de asp y maldito access.


resumo mi problema a algo muy simple

Si abro el Access y pongo nueva consulta y voy a SQL y pongo


select replace('HOLA MUNDO','H','#') as PPP

Me muestra correctamente una columna llamada PPP que contiene El texto


'#OLA
MUNDO'

Ahora en un ASP, pongo

<%
Set cmd = Server.CreateObject("ADODB.Command")
Set rs = Server.CreateObject("ADODB.Recordset")
cmd.ActiveConnection ="DRIVER={Microsoft Access Driver
(*.mdb)};DBQ=c:\base.mdb"
cmd.CommandText ="select replace(3/4,'.',',') as PPP"
Set rs = Cmd.execute
Do while not rs.EOF
response.write rs(0)
rs.movenext
Loop
If rs.state=1 then rs.close
set rs = nothing
Set cmd = Nothing
%>

No funciona y me tira un error en

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Undefined function 'replace' in
expression.


Es decir que no reconoce el replace... pero sin embargo, en el access
funciona

NOTA: El codigo ASP lo copie y lo pegue tal cual, no tengo problemas de
conexion a base o errores de sintaxis. (puede que me haya olvidado de


pegar
algo. Pero el ASP anda. no viene el problema por el codigo, sino por que
desde ASP con el comandtext, se ve que no me reconoce el replace, pero
vuelvo a repetir, desde access anda.
Entonces, la consulta se ejecuta fuera de acces?
Si es asi como puede hacer para que me tire correctamente esto?????





Respuesta Responder a este mensaje
#4 Diego S.
05/10/2004 - 16:19 | Informe spam
Gracias Fabian, por tus comentarios, pero la consulta que pongo es como demo
Dado que lo que tengo que reemplazar viene de otra consulta anidada, y no lo
puedo hacer desde afuera, es decir cortando la cadena y volviendola a
concatenar.

=mente

Gracias.


"Fabian Silva" wrote in message
news:%
Hola, creo que si no esta fuera del texto el replace no funciona en asp,


es
decir en :
cmd.CommandText ="select replace(3/4,'.',',') as PPP"
deberia ser

cmd.CommandText ="select " & replace(3/4,'.',',') & " as PPP"

en el caso de que 3/4 fuera una variable sReemplazar quedaria

cmd.CommandText ="select '" & replace(sReemplazar,'.',',') & "' as PPP"
(notese antes de la comilla doble la comilla simple y luego de la comilla
doble comilla simple)


Espero que esta respuesta sirva ya que me ha traido dolores de cabeza eso


a
mi cuando no lo sabia, saludos

Fabian Silva



"Diego S." escribió en el mensaje
news:
> Hola foreros, aqui nuevamente con problmeas de asp y maldito access.
>
>
> resumo mi problema a algo muy simple
>
> Si abro el Access y pongo nueva consulta y voy a SQL y pongo
>
>
> select replace('HOLA MUNDO','H','#') as PPP
>
> Me muestra correctamente una columna llamada PPP que contiene El texto
'#OLA
> MUNDO'
>
> Ahora en un ASP, pongo
>
> <%
> Set cmd = Server.CreateObject("ADODB.Command")
> Set rs = Server.CreateObject("ADODB.Recordset")
> cmd.ActiveConnection ="DRIVER={Microsoft Access Driver
> (*.mdb)};DBQ=c:\base.mdb"
> cmd.CommandText ="select replace(3/4,'.',',') as PPP"
> Set rs = Cmd.execute
> Do while not rs.EOF
> response.write rs(0)
> rs.movenext
> Loop
> If rs.state=1 then rs.close
> set rs = nothing
> Set cmd = Nothing
> %>
>
> No funciona y me tira un error en
>
> Error Type:
> Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
> [Microsoft][ODBC Microsoft Access Driver] Undefined function 'replace'


in
> expression.
>
>
> Es decir que no reconoce el replace... pero sin embargo, en el access
> funciona
>
> NOTA: El codigo ASP lo copie y lo pegue tal cual, no tengo problemas de
> conexion a base o errores de sintaxis. (puede que me haya olvidado de
pegar
> algo. Pero el ASP anda. no viene el problema por el codigo, sino por que
> desde ASP con el comandtext, se ve que no me reconoce el replace, pero
> vuelvo a repetir, desde access anda.
> Entonces, la consulta se ejecuta fuera de acces?
> Si es asi como puede hacer para que me tire correctamente esto?????
>
>
>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida