Primero, para recibir los datos has de poner
unidad=cint(request.form("unidad"))
Pero bueno, supongo que habrá sido un error al escribirlo.
Cuando no conviertes el dato en un número, es decir, lo recoges directamente del formulario y haces la consulta con el método que te he puesto, dices que sí funciona. Lo más probable entonces es que el problema no esté en la consulta ni en ASP, sino en la base de datos.
Prueba a poner esto:
Código:
sql="SELECT * FROM CONSENTIMIENTO WHERE unidad=" & 10 &" AND tipo=" & 2
Asegúrate que que esos número existan en la base de datos, o sea, que los cambies para que se puedan encontrar. Verás como tampoco se soluciona el problema. Eso es porque esta vez hemos intentado buscar un dato numérico tal cual y es probable que te arroje el error "no coinciden los tipos" o algo similar. El fallo se debe a que el campo de la base de datos está en formato texto y no contiene valores numéricos.
Tienes dos opciones:
1. No convertir los datos en numéricos y hacer la consulta como te he puesto.
2. Convertir los datos en numéricos (CInt) y darle formato numérico al campo de la base de datos.
Yo personalmente prefiero la primera opción, pero eso es a gusto de cada uno y en función de cómo se trabaje luego con los datos.
Prúebalas y me cuentas.