Проверил твою процедуру. Из Аксесса не сработала. Не инициализирована
переменная Connection. Разве не нужно Set Connection = New
ADODB.Connection?
--
Regards
Alexander Artamonov
"Igemon" <nospam@sql.ru> сообщил/сообщила в новостях следующее:
news:1866201@sql.ru...
Здравствуйте.
Проблема.
Имеется запрос:
PARAMETERS [number] Text ( 255 );
INSERT INTO test ( номер )
VALUES (GenAcc([number]));
Нормально работает. Но, если вызвать его из екселя вот так:
Sub test()
Const Provider = "Provider = Microsoft.Jet.OLEDB.4.0;"
Const DataSource = "Data Source=C:\dbx.mdb"
Dim Catalog As New ADOX.Catalog
Dim RS As ADODB.Recordset
Dim Command As ADODB.Command
On Error GoTo Finally
Call Connection.Open(Provider & DataSource)
Set Catalog.ActiveConnection = Connection
Set Command = Catalog.Procedures("test1").Command
Command.Parameters("[number]").Value = "88"
Command.Execute
Connection.Close
Finally:
If Err.Number <> 0 Then
MsgBox (Err.Description)
End If
Set RS = Nothing
Set Connection = Nothing
End Sub
test1-имя процедуры
Вылезает сообщение:
Не удается найти объект в семействе, соответствующий требуемому имени или
порядковому номеру.
Если убрать из запроса вызов функции - работает. Но мне надо держать
функцию именно в базе.
Где грабли?
Спасибо.
Тема Ответить
Posted via ActualForum NNTP Server 1.3