Problema con Like con Visual Basic y Oracle

Tengo una consulta a una base de datos que esta en oracle, la conexion la creo asi: Set db1 = OpenDatabase("oracle", False, False, "DSN=oracle;odbc;database=NOMBRE@tcp-loopback;uid=admBASE;pwd=admBASE")
Y la consulta la realizo de la siguiente forma:
sql = "SELECT ARCARF, ARDES1 FROM ASMAAR01 WHERE ARDES1 LIKE '%" & Trim(txtBuscar.Text) & "%'"
Set rs1 = db1.OpenRecordset(sql)
If rs1.EOF And rs1.BOF Then
MsgBox "NO EXISTE"
Else
msgBox "EXISTE !!"
End If
El problema es que siempre me da que no existe, cuando si que existe, no es problema de mayúsculas o minúsculas, eso lo he comprobado.
Sin embargo si utilizo el = en lugar del like e introduzco lo que busco exactamente si que funciona.
¿Dónde esta el error?.

1 respuesta

Respuesta
1
Obviamente, la paertura de la base de datos es correcta, ya que me dices que si en vez del like pones un = devuelve algo. Si está usando exactamente el código que me enviaste date cuenta que en la sentencia sql, en el segundo % deberías quitarle las segundas comillas, las que hay después, si fue un error al copiarmelo prueba quitando los & o no dejar ningún espacio entre ellos y las comillas.
No ha funcionado ninguna de tus propuestas, Lo que yo he escrito esta así:
"SELECT ARCARF, ARDES1 FROM ASMAAR01 WHERE ARDES1 LIKE '%" & Trim(txtBuscar.Text) & "%'"
Ten en cuenta que lo que pretendo es que cuando se escriba algo en la caja de text txtBuscar quede tal que así
"SELECT ARCARF, ARDES1 FROM ASMAAR01 WHERE ARDES1 LIKE '%textoabuscar%'"
Por tanto las ultimas comillas no sobran, y no puedo quitar los & porque no me lo concatenaría entonces.
Gracias de todas formas.
Entonces no se en que puede fallar, ya entiendo tu código pero lo siento mucho, juraría que el Like tal como lo has escrito debería funcionar, prueba si al capturar el texto a leer no lo capturas bien tomas algún tipo de espacio o algo así, Siento mucho no poder ayudarte seguiré intentando encontrarle solución, pero finaliza la pregunta y consulta a otro experto. Mil perdones

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas