Problema con LIKE (SQL) y Visual Basic 6

dariomf
02 de Noviembre del 2005
Estoy haciendo un programa que usa una base de Access 2000 y la accedo usando ADODB.

Cuando le mando instrucciones SELECT con la clausula LIKE, me surge unb problema si uso wildcards, por ejemplo :

SELECT CODIGO,NOMBRE FROM TABLA WHERE CODIGO LIKE 'AM*'

Me deberia devolver los registros cuyo CODIGO comience con AM.

Pero no es asi, no me devuelve ningun registro.

¿Que puede estar pasando?

Oscar CR
02 de Noviembre del 2005
Hola!
bueno sucede que como mencionas te estas utilizando ADODB para acceder a los datos y no desde el mismo access asi que el comodin "*" no funciona,
asi que cambialo por" %"
SELECT CODIGO,NOMBRE FROM TABLA WHERE CODIGO LIKE 'AM%'
espero que te ayude
chau atte




Angel
02 de Noviembre del 2005
envia el codigo de visual que empleas para poder ayudart, pues si das unicamente el codigo sql no hay modo... :0), escribeme a mi correo tal vez te pueda ayudar

Angel
02 de Noviembre del 2005
Prueba de la siguiente manera:

SELECT CODIGO, NOMBRE FROM TABLE WHERE CODIGO LIKE "AM%"

tal ves sirva de algo, en todo caso escribeme .... :0)

dariomf
02 de Noviembre del 2005
Funciona a la perfeccion. Ahora tengo otro problema : el SELECT no me distingue mayusculas y minusculas. Por ejemplo : si hago

SELECT CODIGO,NOMBRE FROM TABLA WHERE CODIGO LIKE 'AM%'

Me devuelve, por ejemplo :

AMERICA
america
AmERICA
aMERica

Y esto es un problema no solo de "LIKE" sino tambien de "=". No se como hacer para que Visual Basic 6 (usando una base de Access 2000) me diferencie mayusculas y minusculas con el SELECT.

¿Se entiende?

Gracias por la ayuda.

Angel
02 de Noviembre del 2005
% es sensible a mayósculas y minusculas, asi que para un texto puedes emplear el siguiente codigo:

adoc1.recordsource = "SELECT CODIGO,NOMBRE FROM TABLE WHERE CODIGO LIKE" & CHR(34) & TRIM(UCASE(TEXT1.TEXT)) & CHR(34) & "%"

espero te ayude, a y mi mail es [email protected]

dariomf
02 de Noviembre del 2005
¿ Osea que el % lo dejo fuera de las comillas ?