Visual Basic - CONSULTA SQL

Life is soft - evento anual de software empresarial
 
Vista:

CONSULTA SQL

Publicado por HORACIO YÁÑEZ HERNÁNDEZ (5 intervenciones) el 09/06/2008 19:14:39
Hola a todos, quisiera me ayudaran
Tengo una aplicación donde en vb6 y la base de datos en Access, entonces cuando quiero hacer una consulta SQL, solo busca valores numéricos, cuando le doy la instrucción con caracteres me marca error.


Por ejemplo, yo tengo la siguiente base de datos:
No. grupo |Color
1 |azules
2 |verdes
3 |rojos
4 |amarillos

y quiero hacer la siguiente Consulta "SELECT * FROM SUBGRUPOS WHERE GRUPO = " GRUPO.TEXT, (Donde GRUPO.TEXT = AZULES)

para que la consulta funciones necesito hacer lo siguiente "SELECT * FROM SUBGRUPOS WHERE Nogrupo= " Nogrupo.TEXT, (Donde Nogrupo.TEXT = 1)

Mi duda es ¿Por qué no funciona con texto, solo con numéricos?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CONSULTA SQL

Publicado por pacopaz (173 intervenciones) el 09/06/2008 19:40:09
El problema que tienes con el query, es que los valores de tipo texto se deben encerra entre comillas simples ('). En tu caso, eso sería de la siguiente manera:

"SELECT * FROM SUBGRUPOS WHERE GRUPO = '" & GRUPO.TEXT & "'"

para hacer búsquedas con un pedazo del texto, esto podría hacerse de la siguiente manera:

"SELECT * FROM SUBGRUPOS WHERE GRUPO like '%" & GRUPO.TEXT & "%'"

La última opción te permitiría, por ejemplo, traer todo lo que tenga 'es' en su valor ('azules, verdes', segun tu ejemplo)

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONSULTA SQL

Publicado por lolo (163 intervenciones) el 09/06/2008 19:45:10
Entendido, te marca error!!

Pero... que error te marca?

Es que no conoceis las normas elementales de los foros?

La primera: Indicar claramente el número y la descripción del error.
La segunda: Indicar claramente con qué tipo de base de datos se está trabajando.
La tercera: Indicar claramente la tecnología de acceso a datos que se está utilizando (ADO, DAO)
La cuarta: Leerse algunos manuales o mirar en la ayuda del MSDN
y la sexta: Ayudar al ignorante aunque no cumpla ninguna de las condiciones anteriores.

Y como me pillaste de buenas voy a acatar la sexta norma:

No funciona en campos texto porque la variable la tienes que encerrar entre comillas simples:

"SELECT * FROM SUBGRUPOS WHERE GRUPO = '" GRUPO.TEXT & "'"

Porque supongo que SUBGRUPOS es una tabla y GRUPO un campo tipo text de la misma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar