Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2010, 06:31
george86
 
Fecha de Ingreso: marzo-2010
Mensajes: 1
Antigüedad: 14 años, 8 meses
Puntos: 0
Problema con entero largo

Hola, es la primera vez que me decido a escribir por aquí, después de que más de una vez haya encontrado aquí la solución a mis problemas. Gracias!
He estado buscando mi error en el foro y en todos los post se soluciona de una forma que a mi no me da resultado.
Resulta que tengo una base de datos en access desde ADO y quiero acceder a una tabla cuyo identificador es autonumerico y entero largo.
El tipo de consulta que genera mi .asp es la siguiente:

SELECT * FROM EMPRESAS WHERE 'CÓDIGO EMPRESA'=119

Y ese debería de ser la forma correcta, según lo que he encontrado por ahí.
Sabiendo que el codigo empresa 119 existe, me da el siguiente error:
No coinciden los tipos de datos en la expresión de criterios.

He probado también usando la función Clng(id), que se supone que pasa la variable a tipo long, pero da el mismo error.

Ya sé que los nombres de campos con espacios y acentos no es lo más adecuado, pero es una base de datos que me han dado para que arregle en el curro, ¿no tiene nada que ver con el problema no?

Mi código
Cita:
if (request.querystring("p")="DNI") Then
sql = "SELECT * FROM ESTUDIANTES WHERE DNI='" & id & "'" //este caso si que funciona porque no es un valor numérico supongo
ElseIf (request.querystring("p")="CÓDIGO EMPRESA") Then
sql = "SELECT * FROM EMPRESAS WHERE 'CÓDIGO EMPRESA'=" & id
ElseIf (request.querystring("p")="Id titulación") Then
sql = "SELECT * FROM TITULACIÓN WHERE 'Id Titulación'=" & id
End If
response.write(sql)
set objRS=objConn.execute(sql)
A ver si me podéis ayudar, gracias de antemano!