2015-01-09 3 views
1

Im получаю ошибку 3061 слишком мало параметров в этой линиибазы данных MS Access ошибка

Set rs = db.OpenRecordset(strSQL) 

Это полный код

Dim strSQL As String 
Dim db As DAO.Database 
Dim rs As DAO.Recordset ''Requires reference to Microsoft DAO x.x Library 
Set db = CurrentDb() 
MsgBox Me.LName 
MsgBox Me.EmpID 
strSQL = "SELECT LastName AS damn FROM [Employees]" & _ 
       "WHERE [Employees].EmployeeID = Me.EmpID" 
Debug.Print strSQL 
Set rs = db.OpenRecordset(strSQL) 
MsgBox rs!damn 
Me.LName = rs!damn 
MsgBox Me.LName 
rs.Close 
db.Close 
+2

Осмотрите, что говорит 'Debug.Print strSQL'. Вставьте этот текст в свой вопрос, если вам все еще нужна помощь. – HansUp

+0

@HansUp, как я помню (теперь у него нет db), он напечатал заявление sql, так как он без AS чертовой части – user3241846

ответ

3

Best я могу предположить, что

"WHERE [Employees].EmployeeID = Me.EmpID" 

должен быть

"WHERE [Employees].EmployeeID = " & Me.EmpID 

Plus HansUp предоставил вам отличный способ для устранения этой проблемы в будущем.

+1

Хорошее начало. Просмотр 'Debug.Print strSQL' также подтвердит, что в инструкции отсутствует пробел или разрыв строки между именем таблицы и' WHERE'. – HansUp

+0

Хороший улов, не заметил этого. Я благодарю вас за то, что вы пошли по пути «Научите человека ловить рыбу ...». – Newd

+0

Я пробовал один и тот же код SQL, кроме strSQL =, и работал как запрос. К сожалению, это проблема работы и не сможет подтвердить это сейчас – user3241846

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