Access - Asignar resultado de consulta a textbox

Estoy tratando de hacer lo mismo que en este post pero me da error. El objetivo es que se muestre el importe de una moto en el campo PVPBuscado.

El código en mi caso es:

Dim mySql As String
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
mySql = "SELECT [Modelos].[Importe moto] FROM [Modelos], [Presupuestos]"
mySql = mySql & " WHERE [Presupuestos].[IdMoto] = [Modelos].[Id]"
mySql = mySql & " AND [Presupuestos].[Id] = [CurrentRecord]"
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(mySql, dbOpenSnapshot)
'Asignamos el valor al TextBox
Me.PVPBuscado.Value = rst.Fields(0).Value
'Cerramos el recordset y liberamos memoria
rst.Close
dbs.Close
Set rst = Nothing
Set dbs = Nothing

He probado a hacer la consulta a parte y me da un único resultado de forma correcta. Sin embargo, al realizarla desde el formulario (cuando se cambia el valor de MotoId) me da este error: "Se ha producido el error '3061' en tiempo de ejecución: Pocos parámetros. Se esperaba 1."

Si le doy a depurar parece que casca en:

Set rst = dbs.OpenRecordset(mySql, dbOpenSnapshot)

Nota: tanto en la tabla de modelos como en la de presupuestos la clave primaria es el Id.

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.