Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запуск хранимой процедуры с параметрами
 
 автор: EVGEN   (22.08.2007 в 18:09)   личное сообщение
 
 

Доброго времени суток всем!
Перевел одну из баз на SQL 2000 Server, клиента пока оставил на ACCESS 2003 (MDB).
Хотел перевести ряд запросов на хранимые процедуры с параметрами, чтобы побыстрей выполнялись.
Запуск без параметров выполняется без проблем (через создание запроса к серверу), а вот с параметрами не получается.
Подскажите как запустить на сервере хранимую процедуру с параметрами, через запрос или кодить надо на VBA?
Заранее благодарю!

  Ответить  
 
 автор: osmor   (22.08.2007 в 18:25)   личное сообщение
 
 

Если не нужно ничего возвращать, то так
Set q = Currentdb.CreateQueryDef("")
    q.Connect = Строка подключения
    q.SQL = ИмяХранимки параметр1, параметр2
    q.ReturnsRecords = False
 q.execute
есkи нужно, то
Set q = Currentdb.CreateQueryDef("")
    q.Connect = Строка подключения
    q.SQL = ИмяХранимки параметр1, параметр2
    q.ReturnsRecords = true
set rst = q.OpenRecordset(dbOpenSnapshot)

  Ответить  
 
 автор: EVGEN   (23.08.2007 в 12:44)   личное сообщение
 
 

Попробовал навесить на кнопку код:
Private Sub Кнопка0_Click()

Dim rst As New ADODB.Recordset

Set q = CurrentDb.CreateQueryDef("")
q.Connect = "ODBC;DSN=KontDiscTest;Description=KontDiscTest;UID=RobotKontDiscTest;" & _
"APP=Microsoft Office 003;WSID=A12FEN;DATABASE=KontDiscTestSQL;LANGUAGE=Русский"
q.Sql = "test_KontDisc " & Поле2
q.ReturnsRecords = True
Set rst = q.OpenRecordset(dbOpenSnapshot)

End Sub

Ругается на Set rst - Ошибочный аргумент ошибка 3001
Поле2 символы, test_KontDisc предварительно запускал через QueryAnalyser - работает.

  Ответить  
 
 автор: osmor   (23.08.2007 в 13:02)   личное сообщение
 
 

ну а если без возврата значений? работает?

  Ответить  
 
 автор: EVGEN   (24.08.2007 в 11:45)   личное сообщение
 
 

Нет, ругается на
q.Execute - ODBC Ошибка вызова 3146.

Может быть библиотеки какие-нибудь надо подключить?

  Ответить  
 
 автор: osmor   (27.08.2007 в 14:55)   личное сообщение
 
 

вчитался. у меня описано для DAO

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList