Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 ULTIMO: No coinciden criterios...
 Foro Bloqueado  Tema Bloqueado


Autor Temas
pablodiloreto
Starting Member

Argentina
27 Posts
Mensajes - 20 Jan 2006 :  18:26:38  Ver Perfil  Enviar Email
Hola nuevamente. Tengo un pequeño problema (debe ser una pavada pero no se como solucionarlo).

En mi base de datos de Access la columna "id" es numérica. Cuando quiero hacer la siguiente búsqueda tengo el siguiente código (parte):


id_empresa=request.QueryString("id_empresa")

sqltxt="select * from usuarios where id='" &id_empresa &"'"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/cp/bd/sueldos.mdb"))
set rs=createobject("ADODB.Recordset")
set rsr=createobject("ADODB.Recordset")
rs.open sqltxt,conn

El error que me da es el siguiente:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios.
/cp/mail.asp, line 16

AHora bien. Cuando cambio la propiedad de la columna "id" de mi base de datos a "text" (deja de ser numérico) este error no me lo da...

por que???? que debo cambiar en mi codigo? porque necesito que el valor sea numerico en la bd.

Ayuda?

GRACIAS A TODOS.

Pablo Ariel Di Loreto

Alexis_m20
Senior Member

Chile
1021 Posts
Posted - 20 Jan 2006 :  18:35:03  Ver perfil  Enviar e-mail  Visit Alexis_m20's Homepage
Hola, nuevamente

en esta linea
sqltxt="select * from usuarios where id='" &id_empresa &"'"

tienes el error

lo que pasa

que cuando tu pones '"&id&"'
quiere decir que el campo es texto

pero si lo pones asi "&id&" el campo es numerico

por eso tu query deberia ser asi

sqltxt="select * from usuarios where id=" &id_empresa &""

y con eso pasar


Si puedo ayudar lo hare
Entren a mi web y registrense y participen http://www.ofistar.cl/foro/Default.aspInicio Pagina

Zeus
New Member

Chile
56 Posts
Posted - 20 Jan 2006 :  18:37:16  Ver perfil  Enviar e-mail
Pues podria ser porque en la tabla, es una columa de tipo numerico y tu estas haciendo una consulta como si fuese texto, usando comillas. Prueba a quitarle la comilla simple en el where.

En el acces no te permite hacer consultas por numero/texto si la columna es texto/numerica.
Pero en SQL Parece que es más listo y convierte el dato.


†ŽêûŠInicio Pagina

pablodiloreto
Starting Member

Argentina
27 Posts
Posted - 20 Jan 2006 :  18:49:32  Ver perfil  Enviar e-mail
Gracias por la ayuda! Les comento que ahora me tira el siguiente error:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta operador) en la expresión de consulta 'empresa=< =id_empresa >'.
/cp/mail.asp, line 9


El codigo que introduje fue el siguiente:


id_empresa=request.QueryString("id_empresa")

sqltxt="select * from novedades where empresa=" &id_empresa &""
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/cp/bd/sueldos.mdb"))
set rs=createobject("ADODB.Recordset")
set rsr=createobject("ADODB.Recordset")
rs.open sqltxt,conn

que opinan? Probe ingresar otros codigos pero puf, siempre lo mismo!

Pablo Ariel Di LoretoInicio Pagina

Alexis_m20
Senior Member

Chile
1021 Posts
Posted - 20 Jan 2006 :  19:04:00  Ver perfil  Enviar e-mail  Visit Alexis_m20's Homepage
id_empresa=Request("id_empresa")
sqltxt="select * from novedades where empresa=" &id_empresa &""

Response.write sqltxt
Response.end


pon eso y ve que codigo te tira

Si puedo ayudar lo hare
Entren a mi web y registrense y participen http://www.ofistar.cl/foro/Default.aspInicio Pagina

pablodiloreto
Starting Member

Argentina
27 Posts
Posted - 20 Jan 2006 :  19:32:40  Ver perfil  Enviar e-mail
Me tira exactamente el mismo error...

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta operador) en la expresión de consulta 'empresa=< =id_empresa >'.
/cp/mail.asp, line 9


Pareciera que el error es ANTES... como que falta alguna comilla o algo... pero no puedo descubrir que es!

Pablo Ariel Di LoretoInicio Pagina

Alexis_m20
Senior Member

Chile
1021 Posts
Posted - 20 Jan 2006 :  19:39:22  Ver perfil  Enviar e-mail  Visit Alexis_m20's Homepage
Pone lo que te puse antes de todo
no depsues
de la ejecucion en el objconexion

Si puedo ayudar lo hare
Entren a mi web y registrense y participen http://www.ofistar.cl/foro/Default.aspInicio Pagina

pablodiloreto
Starting Member

Argentina
27 Posts
Posted - 20 Jan 2006 :  19:59:40  Ver perfil  Enviar e-mail
Ya esta! el error estaba antes...

en la página anterior que le enviaba el link con el codigo de la empresa

le estaba enviando una cadena PHP en vez de un RESULTADO

es decir por eso me daba el error de

Error de sintaxis (falta operador) en la expresión de consulta 'empresa=< =id_empresa >'.

le estaba enviando la cadena "< =id_empresa > en vez de el número de id de la empresa!!

Gracias Alexis!!!!!!!!!!

Muy amable has sido.

Saludos,

Pablo Ariel Di LoretoInicio Pagina

MARIA EUGENIA
Starting Member


6 Posts
Posted - 17 Jun 2008 :  19:08:27  Ver perfil  Enviar e-mail
hola necesito que me ayuden a salir de esta duda porque cuando quiero guardar datos en una tabla de access me muestra un mensaje que dice que no cionciden los datos en la expresion de criterios , espero me ayuden gracias


maria eugeniaInicio Pagina

DonGato
Moderator

España
263 Posts
Posted - 18 Jun 2008 :  00:28:31  Ver perfil  Enviar e-mail  Visit DonGato's Homepage
escribe el insert para ver si hay algo mal en el SQL.

Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar