Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Access+MSSQL
|
|||
|---|---|---|---|
|
#18+
Подскажите, возможно ли из приложания Access вызвать хранимую процедуру при нажатии кнопки на форме и как передать туда параметры??? Очень хочестся!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2001, 14:00 |
|
||
|
Access+MSSQL
|
|||
|---|---|---|---|
|
#18+
Часть программки использовалась в FoxPro, поэтому как подойдет для Access не знаю. Но может быть в качестве примера подойдет. LOCAL lnHandle lnHandle=SQLConnect("<имя БД>") If lnHandle > -1 *После имени процедуры ("MyProcedure") можно так-же задать параметры *этой процедуры (напр. пароль пользователя этой процедуры или *пароль уровня приложения для этой процедуры) * =SQLExec (lnHandle, "MyProcedure", "results") select Results BROWSE SQLDisconnect(lnHandle) ENDIf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2001, 14:21 |
|
||
|
Access+MSSQL
|
|||
|---|---|---|---|
|
#18+
Не знаю как в 2000, а в 97 это можно динамически изменяя SQL в pass-through запросе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2001, 14:49 |
|
||
|
Access+MSSQL
|
|||
|---|---|---|---|
|
#18+
Dim i As Integer Set cdb = CurrentDb() For i = 0 To cdb.QueryDefs.Count - 1 If cdb.QueryDefs(i).name = "PassTrough" Then cdb.QueryDefs.Delete "PassTrough" Exit For End If Next i Set ptq = cdb.CreateQueryDef("PassTrough", "") ptq.Connect = "ODBC;DATABASE=...;DSN=..." ptq.SQL = "EXEC ..." ptq.Execute ptq.Close cdb.QueryDefs.Delete "PassTrough" cdb.Close ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2001, 17:55 |
|
||
|
Access+MSSQL
|
|||
|---|---|---|---|
|
#18+
Благадарствую за содействие! Однако, вношу дополнение - соединени через ADO. И раз уж необходимо использовать объект соединения, то нельзя ли использовать то соединение которое уже становлено (при открытии формы или приложение *.ADP), т.е. получить ссылку на уже существующий??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2001, 11:16 |
|
||
|
Access+MSSQL
|
|||
|---|---|---|---|
|
#18+
... для того, чтобы в проекте Access-2000 программно запустить хранимую процедуру с параметрами так, чтобы через некоторые из этих параметров хранимая процедура вернула значения, следует создать объект ADODB.Command: set comCom=new ADODB.Command и для него указать значения свойств: CommandType=adCmdText (не adCmdProc!), CommandText="exec MyProc ?, ?, ? out, ? out" (не "MyProc"!), ActiveConnection = CurrentProject.BaseConnectionString (можно указать явно по желанию). Далее нужно создать соответствующее количество параметров объекта ADODB.Command в порядке их следования в объявлении процедуры: comCom.Append comCom.CreateParameter("Param1", adDouble, adParamInput, ParamValue) - для параметров, возвращающих значения, вместо adParamInput следует указывать adParamInputOutput. После этого выполнить метод Execute объекта comCom и считать возвращенные хранимой процедурой значения из comCom.Parameters(N).Value, где N - порядковый номер параметра, возвращающего значение (начиная с 0). Прислал Андрей Гордиенко. Вот так! (15.11.99) Взято с сайта: http://nsa.chat.ru/know.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2001, 11:29 |
|
||
|
Access+MSSQL
|
|||
|---|---|---|---|
|
#18+
А вообще можно обойтись и без кнопки. Если это ADP, то источником формы делаешь SP, а в свойстве формы InputParameters устанавливаешь ссылки на контролы формы, значения которых должны передаться в SP в качестве параметров. При изменении значения этих параметров набор записей в форме автоматически будет обновляться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2001, 12:20 |
|
||
|
Access+MSSQL
|
|||
|---|---|---|---|
|
#18+
2Garya: А как сделать то же самое, если RecordSource формы является view? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2001, 00:19 |
|
||
|
Access+MSSQL
|
|||
|---|---|---|---|
|
#18+
2Garya: А как сделать то же самое, если RecordSource формы является view? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2001, 00:26 |
|
||
|
Access+MSSQL
|
|||
|---|---|---|---|
|
#18+
Garya! Прошу прощения, что отвечаю на персонально тебе заданный вопрос. Но думаю что твой ответ был бы аналогичным... a)Используй свойство формы "Серверный фильтр" (ServerFilter) б)Создай хранимую процедуру с параметром(ами), в которой производится выборка необходимых записей из твоей вьюхи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2001, 07:08 |
|
||
|
Access+MSSQL
|
|||
|---|---|---|---|
|
#18+
У VIEW параметров быть не может. Есть такое понятие - параметризованный запрос, но он не может быть хранимым (хотя, он может быть и не вызовом хранимой процедуры). Это чисто ADO-шные выкрутасы. ADO-интерфейс может подставлять вместо знаков вопросов значения параметров из коллекции Parameters. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2001, 13:51 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32004134&tid=1826985]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 301ms |

| 0 / 0 |
