Consulta con parámetro tipo texto

De nuevo con mis preguntas!

Tengo un query que quiero que se ejecute a partir de un campo de un formulario

Set TempOperador = Dbs.OpenRecordset("SELECT TBL_Operador.NIT, TBL_Operador.Nombre_Operador, TBL_Operador.SIGLA_Operador FROM TBL_Operador WHERE (((TBL_Operador.Flag_Activo_Operador) = True)) GROUP BY TBL_Operador.NIT, TBL_Operador.Nombre_Operador, TBL_Operador.SIGLA_Operador HAVING (((TBL_Operador.SIGLA_Operador)= " & Me.Operador.Value & "));")

pero me sale error.  :( (se que es una bobada, pero ya intente y no me da)

Me ayudan

1 respuesta

Respuesta
2

Te faltan las comillas simples que delimitan cualquier carácter de texto:

... HAVING (((TBL_Operador.SIGLA_Operador)= '" & Me.Operador.Value & "'));")

Un saludo.


¡Gracias! 

muchas gracias!!!!

funcionó

hola Sveinbjorn El Rojo,

otra pregunta, creo que me puede ayudar...

Set Tabla_SQL = Dbs.OpenRecordset("SELECT TBL_Contrato.Codigo_Contrato, TBL_Contrato.Nombre_Contrato, TBL_Operador.SIGLA_Operador, TBL_Contrato.Flag_Activo_Contrato, TBL_Contrato.Fecha_Creacion_Contrato " & _
                                        "FROM TBL_Operador INNER JOIN TBL_Contrato ON TBL_Operador.NIT = TBL_Contrato.SIGLA_Operador WHERE (('" & SQL_string & "'));")

SQL_STRING="Codigo_Contrato= 'SS-56770-99';" ' este resulta de una concadenar alguna información.

como puedo hacer, para que me tome el calor de SQL_String?

Ahora te sobran las comillas simples en la línea del openrecordset.

Piensa en esto: una variable es un objeto que sustituye a algo (una cadena de texto en este caso). Si construyeras la SQL directamente harías:

"SELECT TBL_Contrato.Codigo_Contrato, TBL_Contrato.Nombre_Contrato, TBL_Operador.SIGLA_Operador, TBL_Contrato.Flag_Activo_Contrato, TBL_Contrato.Fecha_Creacion_Contrato FROM TBL_Operador INNER JOIN TBL_Contrato ON TBL_Operador.NIT = TBL_Contrato.SIGLA_Operador WHERE ((Codigo_Contrato= 'SS-56770-99'));"

Si sustituyes Codigo_Contrato= 'SS-56770-99' por SQL_STRING, ¿por qué meterle unas comillas simples dónde antes no las había?

Hola Sveinbjorn El Rojo,

Lo hice pero me sale este error, creo que es por que la expresión queda entre comillas dobles, ¿cómo se las puedo quitar?

"Codigo_Contrato= 'SS-56770-99'"

Veo que no me has entendido. La variable la tienes que pasar así:

.... WHERE " & SQL_STRING & ")"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas