2017-02-14 6 views
0

Помощь! У меня возникли некоторые проблемы с моими кодами доступа на базе которой она говорит, что ошибка доступа 3061 Слишком мало параметров ожидается 1. Проблема была выделенаОшибка доступа 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) 

ответ

0

оборудованию ID рассчитана как строка, хотя в вашем SQL-заявлении оно упоминается как число. Если FacilitiesID вашей формы, на самом деле является строкой, вы должны заключить его в кавычки:

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

В таких случаях вставить отладки линии и изучить вывод:

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

Это сказал, эта ошибка, как правило, вызвана отсутствующим или ошибочным именем поля.

Смежные вопросы