Se ha producido el error 3061 pocos parámetros se esperaba 1
Tengo la siguiente función definida en un Módulo en una Base de datos MS Access 2016, para actualizar el valor de un campo de tipo booleano de una tala:
Function Actualiza_subcontrata(Exp As String, Valor As Boolean)
Set DB = CurrentDb
'Actualiza el valor del campo Tiene subcontratas en la tabla 1-Expedientes_SARA
SQL = "UPDATE [1-Expedientes_SARA] SET [1-Expedientes_SARA].[Tiene Subcontratacion] = " & Valor
SQL = SQL & " WHERE [1-Expedientes_SARA].Expediente = '" & Exp & "'"
DB.Execute (SQL)
MsgBox "Actualizado Tiene subcontratas"
End Function
Al aplicar la inspección sobre las variables de la función, los valores aparentemente son correctos:
Exp = "2.20/28520.0185"
Valor = Verdadero
SQL = "UPDATE [1-Expedientes_SARA] SET [1-Expedientes_SARA].[Tiene Subcontratacion] = Verdadero WHERE 1-Expedientes_SARA].Expediente = '2.20/28520.0185'"
Al llegar a DB. Execute (SQL), aparece el mensaje de error indicado. El problema viene dado por la variable booleana que le paso en la llamada que hago desde un subformulario, que Valor toma Verdadero y no True. Es decir, que si sustituyo la variable Valor por el literal True, no aparece el error y la función actualiza correctamente el campo booleano en la tabla. ¿Hay alguna solución a este problema?