2013-04-09 5 views
0

Я получаю ошибку 3601 в этом коде, когда я запускаю ее, она говорит, что слишком мало параметров, любых решений?Слишком мало параметров. Ожидается <number>. (Ошибка 3061)

Sub copySDback() 
Dim db As DAO.Database 

Dim rst As DAO.Recordset 

Dim test As String 

Dim sdSQL As String 

Set db = CurrentDb() 
moo = "SD12401064" 

sdSQL = "SELECT [Test EUS BL].[Ticket Nbr], [Test EUS BL].[Current Assignment Group],    [Test EUS BL].[ELEVATION STATUS] FROM [Test EUS BL] WHERE ((([Test EUS BL].[Ticket  Nbr])=SD16818515));" 
'CurrentDb.OpenRecordset sdSQL 

Set rst = db.OpenRecordset(sdSQL, dbOpenDynaset, dbSeeChanges) 
If rs.BOF And rs.EOF Then 
    rs.Close 
    MsgBox "name not found" 
End If 
Exit Sub 

rs.Close 
db.Close 

ответ

1

В этом сегменте запроса

WHERE ((([Test EUS BL].[Ticket  Nbr])=SD16818515)) 

Похоже, у вас есть более чем один пробел между билетов и NbR (это может быть проблемой форматирования), но это должно быть точным при использовании квадратных скобок. Кроме того, не имеет отношения к проблеме параметра требуется, необходимо окружить SD16818515 одинарные кавычки, как

'SD16818616' 

, потому что это строка.

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