Error en consulta de unión SQL en Access

Tengo una consulta de union SQL en la cuál obtengo todos los datos de dos Tablas llamadas tbEquipos y tbActualizaciones y quiero que esa consulta solo muestre los registros que sean iguales al valor de un cuadro de texto de un formulario. El error (3061 Pocos Parámetros. Se esperaba 1) me salta en la clausula WHERE.

Acá les dejo como la estoy formulando

Set rs = db.OpenRecordset("SELECT * FROM tbEquipos RIGHT JOIN tbActualizaciones ON tbEquipos.NroSerie = tbActualizaciones.NroSerie WHERE tbEquipos.NroSerie = Forms!frmIngEquipos!txtNroSerie ORDER BY tbActualizaciones.FechaIng DESC")

Respuesta

El error 3061 aparece porque Access no reconoce la referencia al formulario dentro del SQL ejecutado en VBA.
Solución: inyectar el valor del formulario en el SQL antes de ejecutar la consulta, o usar parámetros definidos en una QueryDef.

geometry dash subzero

3 respuestas más de otros expertos

Respuesta
1

Esto no es una consulta de unión, trate de construir la sentencia SQL como una cadena, algo como

Dim strSQL AS String
strSQL="SELECT * FROM tbEquipos RIGHT JOIN tbActualizaciones ON tbEquipos.NroSerie = tbActualizaciones.NroSerie WHERE tbEquipos.NroSerie =" &  Forms!frmIngEquipos!txtNroSerie & "ORDER BY tbActualizaciones.FechaIng DESC")
Set rs = db.OpenRecordset(strSQL)
Respuesta

Creo recordar que iba algo así; probar:
[Forms]![frmIngEquipos].Form![txtNroSerie]

Respuesta

Seria interesante verificar que el campo txtNroSerie del formulario frmIngEquipos esta abierto y tiene un dato válido en el momento de llamar a la consulta (pues es el parámetro que espera).

El dato : [Forms! FrmIngEquipos! TxtNroSerie] es una referencia absoluta y el SQl en Access la interpretara de forma correcta, lo único que precisa es que este abierto el formulario (se da por supuesto) y que en ese cuadro de texto exista un valor adecuado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas