2017-02-14 203 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) 

也就是說,此錯誤通常是由缺少或拼寫錯誤的字段名稱引起的。

相關問題