русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-23; просмотров: 569; Нарушение авторских прав


Для создания процедуры (подпрограммы или функции) в Access 97 предназначена команда Процедураиз меню Вставка,которая имеет аналог в

панели инструментов Visual Basic.В результате ее активизации открывается диалоговое окно Вставка процедуры,которое служит для выбора типа про­цедуры (подпрограмма (Sub) или функция (Function))и присвоения ей имени

(поле Имя).Подпрограмму или функцию можно создать и другим спо­собом —
введя в окно модуля инструкцию Subили Function.

Рис. 6. 4. Диалоговое окно создания процедуры

 

При создании процедуры можно задать область ее использования с помощью следующих переключателей (Область определения):

— общая (Public)— процедура доступна для всех процедур во всех модулях.

— личная (Private)— процедура доступна для других процедур только в том

модуле, в котором она объявлена.

Если процедуры не используются вне данного модуля, их следует декла­рировать как личные. При объявлении личной процедуры в первой строке перед ключевым словом Function или Sub вставляется префикс Private:

 

Private Function Имя ()

ИЛИ

Private Sub Имя ()

 

В результате установки опции Все локальные переменные считать стати­ческимилокальным переменным присваивается тип Static (Статический). В этом случае локальные переменные сохраняются между вызовами. Атрибут Static не влияет на переменные, которые объявлены вне данной процедуры, даже если они используются в процедуре.

Попробуем создать простую процедуру-функцию Предположим, что на основе цен, выраженных в рублях, должны быть автоматически определены и указаны в отдельном поле цены в американских долларах. Мы будем использовать форму Прейскурант цен, содержащую поля Название товара, Цена в рублях и Цена в долларах, которые связаны с соответствующими полями таблицы Товары отношением один к одному.




Рис. 6. 5.Пример формы

 

Чтобы решить данную задачу, необходимо создать процедуру, определяю­щую значение поля USD на основе содержимого поля Цена в рублях:

• Откройте окно модуля и вызовите команду Процедураиз меню Вставкаили нажмите соответствующую кнопку на панели инструментов. На экране появится диалоговое окно для указания имени создаваемой про­цедуры.

 


Рис. 6. 6. Выбор типа процедуры и указание ее имени

 

 

Активизируйте переключатель функция (Function),введите в поле Имяимя функции Рубли_в_Доллары и щелкните на кнопке ОК.Access 97 генерирует заготовку функции (начальный и конечный опера­торы) с указанным именем. Вам останется ввести операторы, которые будут производить расчеты. Окончательный вариант создаваемой функции должен быть приблизительно таким:

Public Function Рубли_в_Доллары ()

' Пересчет цены в рублях в цену в долларах

Forms! [Прейскурант цен]! [Цена в долларах]= Forms! [Прейскурант цен]! [Цена в рублях]/5.5

End Function

После ввода каждой строки процедуры программа проверяет синтаксис введенного оператора. При обнаружении синтаксической ошибки на экране появляется соответствующее сообщение. Следует учитывать, что возможно­сти синтаксической проверки VBA ограничены. Программа проверяет только корректность написания операторов и не обнаруживает более сложные ошибки, такие как обращение к полю, которого нет. Не обнаруживаются также ошибки в именах формы — они дают о себе знать только при выполнении процедуры.

 

Примечание:

Режим проверки синтаксиса отменяется путем выключения опции про­верка синтаксиса,расположенной на вкладке Модульдиалогового окна Параметры.В этом случае проверка осуществляется только при компи­лировании.

• Выберите в меню Файлкоманду Сохранить,чтобы сохранить модуль с созданной функцией Присвойте модулю имя Прейскурантные расчеты.

 

Примечание:

Имя функции должно начинаться только с букв и не может содержать более 255 символов.

В имени функции наряду с буквами можно исполь­зовать цифры и знак подчеркивания, однако в нем не должно быть пробелов, пунктуационных знаков и ключевых слов VBA. Следите за тем, чтобы одно имя дважды не использовалось в одной базе данных.

Тело созданной процедуры состоит из одного оператора присваивания (=). В результате его выполнения вычисляется значение цены в долларах, которое заносится в соответствующее поле формы.

 



<== предыдущая лекция | следующая лекция ==>
Отображение модулей | Аргументы процедуры


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.