Visual Basic - Concatenar Where y And SQL VB6

Life is soft - evento anual de software empresarial
   
Vista:

Concatenar Where y And SQL VB6

Publicado por Jreuters (2 intervenciones) el 22/12/2009 19:32:09
Hola a todos:

Tengo un problema para crear una sentencia sql en Visual Basic 6 que me seleccione todos los registros de una tabla en la que se cumplan las coincidencias que yo exijo en dos campos. La tabla se llama Presupuestos y en ella existe un campo llamado ObraNombre, otro campo llamado ObraUbicacion y otro campo llamado Ppto. Tengo un formulario con dos combobox donde selecciono los valores ObraNombre (CBTecnico) y ObraUbicación (CBUbicacion) que deben corresponderse con los registros de la tabla. La siguiente sentencia debería valer para obtener los registros en los que se cumplan las dos condiciones, pero me genera error:

'La variable Consulta es de tipo Recordset en una conexión ADODB (BasePresupuestos)

Set Consulta = New Recordset
Consulta.Source = "SELECT * FROM Presupuestos WHERE " _
& "ObraTecnico = '" & CBTecnico.Text AND _
& "ObraProvincia = '" & CBUbicacion.Text & "'" _
& " ORDER By Ppto ASC "

With Consulta
.ActiveConnection = BasePresupuestos
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.Open Options:=adCmdText
End With

Me hago un lio con las comillas, los apóstrofos y los &.

Muchas gracias
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:Concatenar Where y And SQL VB6

Publicado por Llaverin (70 intervenciones) el 23/12/2009 16:35:13
Hola Jreuters:
Prueba con esto, pero tienes que tener claro, que te lo he puesto con esto
"'" para que lo veas claro te lo separo " ' " (comillas dobles, comillas simples, comillas dobles) eso es en el caso de que sean variables tipo string

Consulta.Source = "SELECT * FROM Presupuestos WHERE " _ &
"ObraTecnico = "'" & CBTecnico.Text & "'" AND " _ &
"ObraProvincia = "'" & CBUbicacion.Text & "'" _ &
" ORDER By Ppto ASC "

En el caso de que sean numericos seria solo con comillas dobles, de esta manera:
Consulta.Source = "SELECT * FROM Presupuestos WHERE " _ &
"ObraTecnico = " & CBTecnico.Text & " AND " _ &
"ObraProvincia = " & CBUbicacion.Text & " "_ &
" ORDER By Ppto ASC "

Mira a ver si esto te funciona

Un saludo
Llaverin
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