可能是因为SQL语句中定义的参数与实际传递的参数不一致导致的,可以尝试在SQL语句中指定参数的数据类型,并确保传入的参数与数据类型匹配。
下面是一个示例代码:
Dim sql As String Dim dbs As DAO.Database Dim qdf As DAO.QueryDef Dim prm As DAO.Parameter
Set dbs = CurrentDb() sql = "INSERT INTO table_name (field1, field2) VALUES ([param1], [param2]);"
Set qdf = dbs.CreateQueryDef("", sql)
For Each prm in qdf.Parameters Select Case prm.Name Case "param1" prm.Type = dbText '指定参数1为文本类型 prm.Value = "some value" Case "param2" prm.Type = dbInteger '指定参数2为整型 prm.Value = 123 End Select Next prm
qdf.Execute dbFailOnError
Set qdf = Nothing Set dbs = Nothing
注意:这只是一个示例,实际情况可能会因参数名、表名、字段名等不同而有些变化,具体应根据实际情况调整代码。
上一篇:Access上的连接查询