Error, la búsqueda no arroja resultado si le paso valor a través de una variable

A ver si me pueden ayudar con esto

En la siguiente línea de código si el valor a buscar lo paso por medio de una variable la búsqueda no encuentra ningún registro, pero si le paso el valor directamente si. ¿Qué puede ser?

Así no anda

varCodOp  = "CC"

Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Select NroOp from tbSeguimiento where CodOp = 'varCodOp' order by CodOp, NroOp Desc")
varNroOp = rs.Fields(0)

Asi si Anda

Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Select NroOp from tbSeguimiento where CodOp = 'CC' order by CodOp, NroOp Desc")
varNroOp = rs.Fields(0)

3 Respuestas

Respuesta
2

Tines un error en la cláusula SELECT, te falta el operador & de concatenación, debe quedar así:

Set rs = CurrentDb.OpenRecordset("Select NroOp from tbSeguimiento where CodOp =" & varCodOp & "order by CodOp, NroOp Desc")

Respuesta
2

El problema que tienes es que estas tomando la varible como texto, es decir estas buscando el nombre de la variable en la consulta en lugar de su valor.

Lo siguiente debe resolver tu problema.

Set rs = CurrentDb.OpenRecordset("Select NroOp from tbSeguimiento where CodOp = '"&varCodOp&"' order by CodOp, NroOp Desc")

Respuesta
1

La consulta con la variable no es correcta. Si te fijas estás poniendo el valor varCodOp como string directamente en lugar de construir la consulta con el valor de la variable.

Debes hacerlo del siguiente modo:

varCodOp  = "CC"
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Select NroOp from tbSeguimiento where CodOp = '"& varCodOp &"' order by CodOp, NroOp Desc")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas