Error CurrentDb.OpenRecordset pocos parametros se esperaba x

Ando con problemas en las sintaxis... El trabajo es más extenso, pero específicamente me esta dando problemas lo siguiente:

Public Sub Campos()
Dim db As DAO.Database, tdf As DAO.TableDef, fld As DAO.Field
Dim i As Integer
Dim SQLstr As String
Set db = CurrentDb
'Devuelve referencia a la primera tabla
Set tdf = db.TableDefs("tabla1")
For Each fld In tdf.Fields
SQLstr = "SELECT [campo1] FROM tabla3 " & _
"WHERE [campo1].[tabla3] = '" & fld.Name & "'"
CurrentDb.OpenRecordset (SQLstr)

Next
Set fld = Nothing
Set tdf = Nothing
db.Close
Set db = Nothing
End Sub

El string que me da SQLstr es SELECT [campo1] FROM tabla3 WHERE [campo1].[tabla3] ='dato1'

Cuando ejecuto me sale el siguiente error: error 3061... Pocos parámetros se esperaba 2

Ahora si cambio el SQLstr a esto:

SQLstr = "SELECT campo1 FROM tabla3 " & _
          "WHERE campo1 ='" & fld.Name & "'"

El error me dice que se esperaba 1

Ya intenté cambiar a sintaxis varias veces pero me sigue dando error y no encuentro donde está mal.

1 Respuesta

Respuesta
2

Tienes mal la parte del WHERE, pues el nombre de la tabla va antes que el del campo :

....  WHERE [tabla3].[campo1]....

Asegúrate también que existe en la tabla un campo llamado campo1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas