Seryog@
Дата: 21.05.2002 06:58:04
Доброе время суток. Мучаюсь я с получением данных из SQL
Server в Access, нужно передавать параметры в функцию или
хранимую процедуру. В общем, выяснил следующее.
1) Как я понял, данные передавать в хранимую процедуру
можно только путем переписывания запроса заново, т.к. у
готового запроса из VBA я ничего поменять не смог. Теперь
запрос создается так:
Private Sub Button_Click()
Dim dbs As DAO.Database
Dim qdf As DAO.QueryDef
Dim strSQL As String
Set dbs = CurrentDb
strSQL = "SELECT * FROM Table1 IN ''
[ODBC;DSN=DB;UID=Sergey;DATABASE=DB;Trusted_Connection=Yes]
where (F1=4)"
DoCmd.DeleteObject acQuery, "SecondQuarter"
Set qdf = dbs.CreateQueryDef("SecondQuarter", strSQL)
End Sub
Воооот....
2) А вот созданое таким образом обращение к хранимой
процедуре или функции не работает, при
select * from fun1(1,5)
он пишет, что это ошибка... ну, функций не знает аксес,
что ж теперь...
Остается что? Запрос к серверу. там работает как
select * from fun1(1,5) так и
exec sproc1 1,5 или просто sproc1 1,5
А теперь вопрос. Из VB можно создать не запрос, а запрос к
серверу???????
АлексейК
Дата: 22.05.2002 10:36:52
Если я правильно понял вопрос то он звучит так
как из Access MDB запустить хранимую процедуру с параметрами.
ответ: используя ADO
Dim MYConnection As New adodb.Connection
'пример подключения
MYConnection.Open "Provider=MSDASQL;DSN=LocalServer;SERVER=({local});UID=sa;PWD=;WSID={ИМЯ_компьютера};DATABASE={ИМЯ_БАЗЫ_ДАННЫХ};LANGUAGE=русский;QueryLogTime=Yes"
'{УКАЗАННОЕ В ТАКИХ СКОБКАХ ЗАМЕНИТЬ НА СВОИ ЗНАЧЕНИЯ}
Dim cmd As New adodb.Command
cmd.ActiveConnection = MYConnection
cmd.CommandText = "sp_daystatus" 'насколько мне известно параметры можно добавить прямо сюда после пробела, через зпт
cmd.CommandType = adCmdStoredProc
'Возвращаемые параметры можно добавить так
cmd.Parameters.Append cmd.CreateParameter("@data", adInteger, adParamInputOutput)
cmd.Parameters(0) = MYintegervar
cmd.Execute
Myvar = cmd.Parameters(0)
Set cmd = Nothing
Колян2007
Дата: 13.01.2007 21:12:32
А можно вопрос в тему? Как из проекта .adp через VB получить данные из запроса в виде функции на SQL Server? В книгах пишется в общем - через OLE DB/ADO, в HELP'е пишется,что к функциям можно получить доступ черем объектную модель Access, но как??? - не написано.