Модераторы: Akina
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Stored Procedure + MS Access 
:(
    Опции темы
Vit
  Дата 30.3.2004, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Вопросы:
1) Такое вообще есть? (Я имею ввиду не макросы, а именно SP, как например в MS SQL Server)
2) Как их делать? Желательно простой пример.
3) Где есть какая-нибудь документация, желательно краткая статейка уровня для дебилов...
4) Примеры внешнего вызова SP из программы (через OLE и через ADO - если это возможно)




--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
shilnik
Дата 31.3.2004, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 377
Регистрация: 22.12.2003

Репутация: 1
Всего: 1



Если не макросы, то есть модули. Находятся на одноименной вкладке.
Создаешь модуль, пишешь там процедуры (на VBA, конечно). Например:

Public Sub SubName (parametrs as ...)
''' тело процедуры
End Sub

Public Function FunctionName (Parametrs as ...) as ...
''' Тело функции
End Function

Как вызвать из программы точно не знаю. Посмотрю.


--------------------
каталог товаров qp1
PM MAIL WWW   Вверх
stron
Дата 31.3.2004, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Консультант
***


Профиль
Группа: Комодератор
Сообщений: 1654
Регистрация: 17.7.2003
Где: Питер

Репутация: нет
Всего: 36



shilnik
IMHO, Vit говорил о другом.
Почему-то я уверен, что про модули он даже не слышал(я тоже), а если бы и слышал, то написал бы их рядом с макросами.

Вот что я нашел:

Цитата

Создание и применение хранимых процедур

Хранимые процедуры — основное средство программирования серверной логики. Они представляют собой откомпилированный модуль, написанный на языке Transact-SQL. В коде хранимой процедуры можно использовать не только операции выборки и модификации данных, но и логику ветвления, переменные, вызовы других процедур и некоторые другие средства, характерные для языков программирования высокого уровня. Код процедуры синтаксически анализируется при компиляции, а оптимизированный план выполнения создается при первом вызове процедуры. В отличие от запросов, хранимые процедуры имеют возможность возвращать несколько наборов записей, а также значения.

Для вызова процедуры клиентская программа или другая процедура должны указать имя выполняемой процедуры и передать ей набор входных параметров.

Хранимые процедуры используются в проектах Access везде, где могут использоваться предложения SQL. Они могут служить:

в качестве источников записей в формах, отчетах, активных страницах;
в качестве источников строк для полей со списком.

Однако нужно помнить, что хранимые процедуры возвращают необновляемый набор записей.
Хранимая процедура может содержать одну инструкцию SQL, и в этом случае для ее создания можно использовать графический режим Конструктора запросов. Если же она состоит из нескольких инструкций SQL, тогда она создается и изменяется в редакторе SQL.

В первом случае чтобы создать процедуру проще всего щелкнуть по ярлыку Создание сохраненной процедуры в режиме конструктора (Create stored procedure in designer). При этом открывается стандартное окно Конструктора запросов, в котором можно создать инструкцию SQL, составляющие тело процедуры. Так же как и представление, хранимая процедура в данном случае может иметь ряд дополнительных свойств. Чтобы отобразить или изменить эти свойства, необходимо открыть окно свойств. На вкладке Сохраненная процедура (Stored Procedure) содержится перечень свойств, которые аналогичны свойствам представления. А на
второй вкладке можно посмотреть и изменить параметры процедуры.

Для примера воспользуемся хранимой процедурой Exployee Sales by Country.

Откройте эту процедуру в режиме Конструктора.
Нажмите кнопку Свойства (Properties) на панели инструментов, чтобы отобразить диалоговое окно Свойства (Properties).
Раскройте вкладку Параметры сохраненной процедуры (Stored Procedure Parameters).
На вкладке отображается таблица со списком параметров процедуры. Каждый параметр обязательно должен иметь имя и тип данных. Кроме того, для него может быть указано значение по умолчанию. Обратите внимание, что имя каждого параметра начинается со значка @. Но имя параметра не может быть изменено на этой вкладке, так же как нельзя добавить новый параметр. Это делается только в бланке запроса в окне Конструктора или прямо в инструкции SQL.
Для того чтобы создать хранимую процедуру, состоящую из нескольких инструкций SQL, нужно открыть список запросов в окне проекта и нажать кнопку Создать (New). В диалоговом окне Новый запрос (New Query) следует выбрать элемент Ввод сохраненной процедуры (Create Text Stored Procedure).
Нужно изменить имя процедуры в первой строке шаблона и ввести текст процедуры в соответствии с правилами языка Transact-SQL.
Если в теле процедуры нужно ввести инструкцию SQL SELECT, то можно воспользоваться для этого Конструктором запросов. Установите курсор на строке редактора, в которой должна быть введена инструкция SELECT и нажмите кнопку Вставить SQL (Insert SQL) на панели инструментов . Появится окно Конструктора запросов. После того как запрос будет создан, нужно закрыть это окно, подтвердив сохранение изменений инструкции SQL.

Пример использования хранимой процедуры в качестве источника записей вы увидите, если откроете отчет "Employee Sales by Country". В качестве источника записей в этом отчете используется одноименная хранимая процедура. В свойстве Входные параметры (Input Parameters) этого отчета описаны два параметра: @Beginning_date И @Ending_date.

При запуске отчета эти параметры будут запрашиваться так же, как и при использовании запроса с параметрами в базе данных Access.

О языке Transact-SQL, используемом в хранимых процедурах, см. документацию по Microsoft SQL Server.



Отчёт "Employee Sales by Country" находится в базе Northwind. (Насколько я понял, она постовляется с Access)
Смотрел в e-учебнике, прилаг. к диску "Мастер-самоучитель Access 2002"
Если надо, то кое-что могу заслать, но не всё, т.к. оно ~17Мб

Это сообщение отредактировал(а) Akina - 24.12.2005, 22:52


--------------------
подписи нет
PM ICQ   Вверх
Vit
Дата 5.4.2004, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: нет
Всего: 207



Спасибо!


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0462 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.