Использовать синтаксис EXEC
qdf.SQL = "EXEC spAL_AssignSurrogateUPC '" & Replace(Item, "'", "''") & "';"
(я предполагаю, что это SQL Server.)
Я также добавил функцию замены для обработки одинарных кавычек в строке Item
. Это также помогает предотвратить инъекции SQL.
РЕДАКТИРОВАТЬ:
Попробуйте сделать это вместо использования оператора With
Dim rs as DAO.Recordset
...
Set rs = qdf.OpenRecordset(dbOpenSnapshot)
If rs.EOF Then
MsgBox "ERROR. Could not assign surrogate UPC."
Else
MsgBox "Surrogate UPC assigned."
End If