Visual Basic - Duda en consulta SQL

Life is soft - evento anual de software empresarial
 
Vista:

Duda en consulta SQL

Publicado por Moisés (5 intervenciones) el 23/09/2006 15:28:47
Hola a todos;
Necesito ayuda con una consulta SQL
Estoy haciendo un programa de acceso a base de datos mediante ADO y cargo los datos en un datacombo, sin problemas.
En el evento datacombo_change quiero que me realize una nueva consulta SQL en un recordset diferente (dentro de la misma conexión ADODB), lo intento de esta forma

Private Sub DataCombo1_Change()
Dim Cadena As String
Dim rsCombo As ADODB.Recordset

Cadena = DataCombo1.BoundText
Show
Print Cadena
Set rsCombo = New ADODB.Recordset
rsCombo.Open "SELECT * from Composicion WHERE Formula LIKE ' " & Cadena & "'", db, adOpenDynamic, adLockOptimistic

If rsCombo.EOF And rsCombo.BOF Then
MsgBox "La consulta no tiene registros" 'si no hay registro, me avisa
End If

Mi duda está en cómo ejecutar la búsqueda, lo he intentado asi:

- Where Formula = ' " & Cadena & " ' ---no funciona
- con like, tampoco me encuentra resultados......y no sé porqué

Ah!! cómo puedo buscar con el comando WHERE en un campo numérico??

Muchas gracias por anticipado
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:Duda en consulta SQL

Publicado por bictoria (7 intervenciones) el 23/09/2006 15:52:13
sin las comillas simples (')
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:Duda en consulta SQL

Publicado por Moisés (5 intervenciones) el 23/09/2006 16:24:35
Me equivoqué y lo puse como nuevo tema.........mil excusas

Ante todo, muchas gracias por tu rápida respuesta.....

Me ha servido, porque ahora me reconoce la cadena que he puesto a buscar como una variable, y de hecho me da su valor cuando me da error....

El error que me dice es:

Error de sintaxis (falta operador) en la expresión de la consulta 'Formula LIKE textoabuscar'

La sentecia SQL que estoy usando es:

rsCombo.Open "SELECT * from Composicion WHERE Formula LIKE " & Cadena & "", db, adOpenDynamic, adLockOptimistic

Una sola cosa más.....para ejecutar una búsqueda en un campo numérico por SQL, ¿Cómo lo hago?
Te explico, es que la tabla tiene el típico campo ID, pongo textbound del datacombo y meto el valor en una vairable llamada Cadena.......Cadena=CStr(.textbound)
textbound me devuelve string por defecto (segun la ayuda), por lo que hago CStr(Cadena) o Str(Cadena) para convertirlo en numérico....
Pero al insertarlo en la búsqueda no me da el resultado.....la duda es:
¿Debe ser el texto de la ayuda string o puede ser también Integer o Long?
¿podria usar .....WHERE Formula= " & Cadena & "??? es que no consigo que funcione

Muchas gracias por tu rápida ayuda, es que he leído todo lo que he encontrado de SQL y no encuentro cómo insertar variables en la búsqueda y si puede ser por
where X = Y o por where X like Y

Gracias de nuevo
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:Duda en consulta SQL

Publicado por bictoria (7 intervenciones) el 23/09/2006 18:23:53
Si Formula es un campo autonumérico, ponlo de esta manera.

rsCombo.Open "SELECT * from Composicion WHERE Formula = " & Cadena , db, adOpenDynamic, adLockOptimistic
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