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:
A ver si me podéis ayudar, gracias de antemano! 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)
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)