Visual Basic - Consulta parcial

Life is soft - evento anual de software empresarial
 
Vista:

Consulta parcial

Publicado por amderon (5 intervenciones) el 20/10/2005 13:18:21
Hola a todos mi problema es q tengo una base de datos a la cual quiero hacer una consulta desde Visual Basic usando el LIKE, la consulta seríua asi:

SELECT * FROM pelis WHERE titulo LIKE ""*" & a & "*""

La pregunta es si agrego una inspección a esta consulta y el resultado lo planto en Access me funciona pero en Visual no. Alguien sabe xq, puede ser q este mal la conexión¿?

Gracias de antemano

POR CIERTO SI ME AYUDAIS OS INVITO A UNA CUETA DE GMAIL ;)
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 parcial

Publicado por andreafuhr (95 intervenciones) el 20/10/2005 15:37:43
Cambiá por esto:
"SELECT * FROM pelis WHERE titulo LIKE ' " & a & " ' "
Avisame si no te funciona pero deberia andar. Olvidate de los * y ademas tenes que usar comillas simples en la concatenacion de strings.
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 parcial

Publicado por amderon (5 intervenciones) el 21/10/2005 00:04:19
Gracias por tu respues pero sigue sin funcionar, la q tenia antes si la ponia en access me funcionaba pero en visual no, puede ser problema de la conexion o algo asi¿?
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 parcial

Publicado por BERNARDO (3 intervenciones) el 21/10/2005 00:40:27
Cuando haces consultas de un string, siempre debes utilizar LIKE en lugar del igual (=), separados por comillas simples. Pero cuando consultas por campo numérico es necesario el igual. Aquí van dos ejemplos:
"SELECT * FROM tabla WHERE campoStrin LIKE ' " & variableString & " ' "
Es necesario al ampersam (&) y las comillas simples pegadas a lad sobles (yo las separé para que lo puedas comprender). Ahora con campo numérico:
"SELECT * FROM tabla WHERE campoNumerico = " & variableNumerica
Un solo Ampersam, ok? Cualquier duda o aclaración, a tus órdenes. Suerte...
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 parcial

Publicado por amderon (5 intervenciones) el 21/10/2005 08:44:11
No se si me explique mal pero supuesrtamente usando el like si yo busco tana deberia salir ventana por ejemplo? Es que el problema es solo a la hora de hacer una busqueda parcial no si el texto es completo.

Gracias
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 parcial

Publicado por Roberto (65 intervenciones) el 22/10/2005 00:33:54
Hola amderon mira si con la clausula LIKE de SQL puedes hacer cualquier tipo de consulta de conhinsidencias al buscar, mira aqui tienes unos ejemplos:

SELECT * FROM clientes WHERE nombre='ALFREDO';
Selecciona todos los campos de la tabla 'clientes', pero los registros de todos aquellos clientes que se llamen 'ALFREDO'.
SELECT * FROM abonados WHERE provincia='MADRID' OR provincia='VALENCIA OR provincia='BARCELONA';
Selecciona todos los campos de la tabla 'abonados', pero los registros de todos los abonados de las provincias de 'MADRID', 'VALENCIA' o 'BARCELONA'.
SELECT nombre, apellidos FROM abonados WHERE edad>=18;
Selecciona los campos 'nombre' y 'apellidos' de la tabla abonados, escogiendo a aquellos abonados que sean mayor de edad (a partir de 18 años).
SELECT * FROM abonados WHERE edad>=18 AND edad<=45;
Selecciona todos los abonados con edades comprendidas entre los 18 y los 45 años.
SELECT * FROM abonados WHERE edad BETWEEN 18 AND 45;
Selecciona todos los abonados con edades comprendidas entre los 18 y los 45 años.
SELECT * FROM diario WHERE fecha=#7/1/97#;
Selecciona los apuntes de 'diario' realizados el 1 de Julio de 1.997 (la fecha ha de indicarse en inglés (mes/día/año)).
SELECT * FROM diario WHERE fecha<=#12/31/96#;
Selecciona los apuntes de 'diario' realizados antes del 1 de Enero de 1.997.
SELECT * FROM diario WHERE fecha BETWEEN #7/1/97# AND #7/31/97#;
Selecciona los apuntes de 'diario' realizados en Julio de 1.997.
SELECT * FROM clientes WHERE nombre LIKE 'AL*';
Selecciona los clientes cuyo nombre comience con los caracteres 'AL'.
SELECT * FROM clientes WHERE apellidos LIKE '*EZ';
Selecciona los clientes cuyos apellidos terminen con los caracteres 'EZ'.
SELECT * FROM clientes WHERE apellidos LIKE '*ZAMO*'
Selecciona los clientes cuyos apellidos contengan, en cualquier posición, los caracteres 'ZAMO'.
SELECT * FROM clientes WHERE provincia IN ('MADRID', 'BARCELONA',
'VALENCIA','TOLEDO', 'AVILA');
Selecciona todos los clientes de las provincias de MADRID, BARCELONA, VALENCIA,
TOLEDO o AVILA.

otra cosa mira te recomiendo que hagas una consulta parcial o como tu la llames de la siguiente manera creo que es la mejor

datacontrol relaciona la base de datos, luego en las propiedades en vez de seleccionar la tabla utiliza el sql y escribe cuales campos quieres jalar de tu tabla ejemplo select * from tabla1 luego en una caja de texto en el evento change
pon una variable digamos criterio de tipo string

private sub text1_click()
Dim criterio as string

criterio = "Select * from tabla1 where nombre like (aqui pones cualquiera de los ejemplos que te di anteriormente)

adodc1.datasource = criterio
adodc1.update
end sub

solo relaciona un datagrid con el adodc1 y listo cada vez que introduscas un caracter en tu caja de text te ara una busqueda muy buena letra por letra en toda tu base de datos

PD. EN LOS EJEMPLOS EN VEZ DE ESTO ' USA " OK

ATTE. ROBERTO URITA
PERDON EL ROLLO Y CUALQUIER DUDA SOBRE SQL MANDENME UN MAIL A MI CORREO

ESPERO QUE TE AYUDE SI TIENES DUDAS SOBRE TU CONEXION MANDAME EL CODIGO DE COMO LO ESTAS HACIENDO Y TE DIGO SI ESTA BIEN O MAL
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