Главная » Просмотр файлов » Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012)

Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012) (1084448), страница 21

Файл №1084448 Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012) (Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012)) 21 страницаКузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012) (1084448) страница 212018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 21)

Теперьвместо объекта Database из библиотеки DAO для работы с базойданных или проектом Access можно использовать объектыCurrentProject, CurrentData, CodeProject и CodeData из библиоте­ки Access.Пары объектов CurrentProject, CodeProject и CurrentD ata,CodeData имеют одинаковые свойства и методы. Отличие объектов107CurrentProject и CurrentData от CodeProject и CodeData подобноотличию друг от друга объектов, возвращаемых методами CurrentDbи CodeDb.

Объекты CurrentProject и CurrentData соответствуют те­кущей базе данных, а объекты CodeProject и CodeData — базе дан­ных, в которой выполняется (и содержится) код VBA, содержа­щий ссылки на эти объекты.3.2.2. Процедуры и функции VBAОсновными компонентами программы на VBA являются про­цедуры и функции, которые представляют собой фрагменты про­граммного кода, заключенные между операторами Sub и End Subили между Function и End Function. Например:Sub <имяПроцедуры> (<аргумент1 >, <аргумент2>,...)<onepaTopVisualBasicl><onepaTopVisualBasic2>End SubФункция отличается от процедуры тем, что ее имя выступаеттакже в качестве переменной и используется для возвращениязначения в точку вызова функции. Например:Function <имяФункции> (<аргумент1>, <аргумент2>,...)<onepaTopVisualBasicl><onepaTopVisualBasic2><имяФункции> = <возвращаемоеЗначение>End FunctionДля того чтобы использовать процедуру или функцию, необ­ходимо их вызвать.

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

Можно также связать такую процедуру с выполне­нием самых различных событий, например, с открытием формыили отчета, с щелчком мышью по кнопке в форме, с воздействи­ем на элементы управления форм, в частности на элементы уп­равления ActiveX. Такие процедуры называют процедурами обра­ботки событий. Функции или процедуры, нуждающиеся в переда­че им аргументов, таким способом вызвать нельзя. Если вызывае­мая процедура имеет уникальное имя и находится в том же моду­ле, что и вызывающая процедура, то для ее вызова достаточноуказать это имя и затем задать список фактических значений аргу­ментов, не заключая его в скобки.

Второй способ вызова процеду­ры состоит в использовании оператора Call. В этом случае сначалауказывают оператор Call, потом имя процедуры, а затем списокпараметров, обязательно заключенный в скобки. Функцию можновызывать так же, как и процедуру, но гораздо чаше применяетсядругой, специфический способ ее вызова: использование ее име­ни с заключенным в скобки списком параметров в правой частиоператора присваивания.Пример 3.1.

Вызов процедуры под именем myFl с передачей ей двухаргументов (константы и выражения):myFl 7, i + 2илиCall myFl(7, i + 2).Пример 3.2. Вызов функций Left и Mid и использование возвращае­мого ими значения в выражении:yStr = Left (у, 1) & Mid (у, 2, 1) .Допустимы два различных способа передачи переменных про­цедуре или функции: по ссылке и по значению.Если переменная передается по ссылке, то это означает, чтопроцедуре или функции будет передан адрес этой переменной впамяти.

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

Имени аргумента может предшествовать явный описательспособа передачи (ByRef — задает передачу по ссылке, a ByVal —по значению). Если же явное указание способа передачи парамет­109ра отсутствует, то по умолчанию подразумевается передача поссылке.Пример 3.3. Передача параметров переменных процедуре:Sub Main ()а = 10b = 20с = 30Call Example 1 (а, b, с)Call MsgBox(a)Call MsgBox(b)Call MsgBox(c)End SubSub Example 1 (x, ByVal y, ByRef z)x= x+ 1y= y+ 1z= z+ 1Call MsgBox(x)Call MsgBox(y)Call MsgBox(z)End SubВспомогательная процедура Example 1 использует в качестве формаль­ных аргументов три переменные, описанные по-разному. Далее в телеэтой процедуры каждый из аргументов увеличивается на единицу, а за­тем их значения выводятся на экран с помощью функции MsgBox.

Ос­новная процедура Main устанавливает значения переменных а, b и с, азатем передает их в качестве фактических аргументов процедуре Example 1.При этом первый аргумент передается по ссылке (действует умолчание),второй по значению, а третий снова по ссылке. После возврата из проце­дуры Example 1 основная процедура также выводит на экран значениятрех переменных, передававшихся в качестве аргументов.Всего на экран выводится шесть значений: сначала числа 11, 21 и 31(все значения увеличены на единицу и выводятся процедурой Example 1);затем числа 11, 20 и 31 (которые выводятся процедурой Main, причемпеременные, переданные по ссылке, увеличены, а переменная, пере­данная по значению, нет).Программа может состоять (и обычно состоит) из многих про­цедур и функций, которые могут располагаться в одном или не­скольких модулях, группирующихся в проекты.

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

Обычно рекомендуется использоватьтолько уникальные имена процедур в одном проекте, но допус110гимы и исключения. В том случае, если в проекте содержится не­сколько различных процедур с одним и тем же именем, следуетдля уточнения имени использовать при вызове процедуры следу­ющий синтаксис:<имяМодуля>.<имяПроцедуры>Если при этом имя модуля состоит из нескольких слов, следу­ет заключить это имя в квадратные скобки. Например, если мо­дуль называется Графические процедуры, а процедура — График,вызов может выглядеть следующим образом:[Графические процедуры].ГрафикДопускается также использование процедур, расположенных ив других проектах.

При этом может потребоваться еще один уро­вень уточнения имени:<имяПроекта>.<имяМодуля>.<имяПроцедуры>3.2.3. Переменный, константы и типы данныхКак и в других языках программирования, в VBA для хранениявременных значений, передачи параметров и проведения вычис­лений используются переменные.Обычно перед использованием переменной производится ееобъявление (определение имен переменных, которые будут ис­пользоваться в программе) и объявление типа данных, для хра­нения которых предназначена эта переменная.В VBA, как и в обычном языке Basic, для этого используетсяоператор Dim.

Синтаксис этого оператора имеет следующий вид:Dim <имяПеременной> [As <типДанных>]В VBA действуют следующие правила именования переменных.Имя не может быть длиннее 255 символов.Имя должно начинаться с буквы, за которой могут следоватьбуквы, цифры или нижняя черта.Имя не должно содержать пробелов, знаков препинания илиспециальных символов, за исключением самого последнего знака.В конце к имени переменной может быть добавлен один изследующих шести специальных символов — описателей типа дан­ных: !, #, $, %, &, @. Эти символы не являются частью именипеременной, т.е. если в программе используются одновременноимена string 1$ и string 1, то они относятся к одной и той же стро­ковой переменной.

Нельзя использовать одно и то же имя пере­менной с разными символами определения типа данных или од­111новременно явное описание типа данных и не соответствующийэтому типу данных специальный символ.Кроме того, не допускается использование в качестве именпеременных ключевых слов VBA и имен стандартных объектов.Допускается использование в именах переменных букв не тольколатинского алфавита, но и кириллицы, что может оказаться удоб­ным для русских пользователей: при желании можно давать пере­менным имена на русском языке.Пример 3.4. Описание переменных:Dim i As Integer, j As IntegerDim x As DoubleВ VBA имеется оператор Option Explicit.

Если начать модуль сэтого оператора (он должен быть расположен в самом начале мо­дуля до начала первой процедуры), то VBA будет требовать обяза­тельного объявления переменных в этом модуле и генерироватьсообщения об ошибке всякий раз, как встретит необъявленнуюпеременную.Краткий перечень используемых типов данных VBA дан втабл. 3.2.Т а б л и ц а 3.2Типы данных VBAТип данныхОписаниеArrayМассив переменных; для ссылки на конкретный эле­мент массива используется индекс. Требуемая памятьзависит от размеров массиваBooleanПринимает одно из двух логических значений: True(Истина) и False (Ложь). Требуемая память 2 байтByteЧисло без знака от 0 до 255.

Требуемая память 1 байтCurrencyИспользуется для денежных вычислений с фикси­рованным числом знаков после десятичной запятойв тех случаях, когда важно избежать возможных оши­бок округления. Диапазон возможных значений:от -922 337 203 685 477,5808 до 922 337 203 685 477,5807.Требуемая память 8 байт.Символ определения по умолчанию @DateИспользуется для хранения дат.

Характеристики

Тип файла
PDF-файл
Размер
20,98 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6367
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее