访问错误3061预期参数太少1

时间:2017-02-14 17:10:41

标签: access-vba

帮助!我在数据库上的访问代码遇到一些问题,因为它说访问错误3061太少参数预期1.问题突出显示

Set oRS = CurrentDb.OpenRecordset(sSQL)
    Dim i As Date, n As Integer, oRS As DAO.Recordset, sSQL As String

Dim db As DAO.Database
Set db = CurrentDb
Dim BookedDate As Date
Dim FacilitiesID As String
Dim StartTime As Date

cboTime.RowSourceType = "Value List"
cboTime.RowSource = ""
If IsNull(Start) Then Exit Sub Else i = Start
If Me.NewRecord = True Then
    DoCmd.RunCommand acCmdSaveRecord
End If
sSQL = "SELECT FacilitiesID, StartTime, BookedDate"
sSQL = sSQL & " FROM qrysubform"
sSQL = sSQL & " WHERE FacilitiesID= " & Me.FacilitiesID & _
                        " AND BookedDate=# " & Me.txtDate & "#"
Set oRS = CurrentDb.OpenRecordset(sSQL)

2 个答案:

答案 0 :(得分:0)

您的设施ID的大小为字符串,但在SQL语句中,它被引用为数字。如果您的表单的FacilitiesID实际上是一个字符串,则需要将其括在引号中:

sSQL = "SELECT FacilitiesID, StartTime, BookedDate"
sSQL = sSQL & " FROM qrysubform"
sSQL = sSQL & " WHERE FacilitiesID= '" & Me.FacilitiesID & _
                        "' AND BookedDate=#" & Me.txtDate & "#"

答案 1 :(得分:0)

在这种情况下,请插入 debug 行并研究输出:

Debug.Print sSQL
' Study output
Set oRS = CurrentDb.OpenRecordset(sSQL)

也就是说,此错误通常是由丢失或拼写错误的字段名称引起的。

相关问题