Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012) (1084448), страница 36
Текст из файла (страница 36)
Событие возникаеттакже при перемещении формы или элемента управления, например с помощью процедуры VBA при неподвижном указателе мыши.Процедура обработки события имеет четыре параметра:Button — определяет состояние кнопок мыши в момент возникновения события (перемещение указателя может происходитьпри нескольких нажатых кнопках или не нажатых кнопках мыши);Shift — определяет состояние клавиш [Shift], [Ctrl] и [Alt] в тотмомент, когда нажата кнопка, определяемая параметром Button;х и у — текущие координаты указателя мыши в твипах.27. С обы тия Кнопка вниз (M ouseD ow n) и Кнопка вверх(MouseUp) возникают, когда пользователь нажимает и соответственно отпускает кнопку мыши.В отличие от событий Нажатие кнопки и Двойное нажатие кнопки данные события позволяют определить, какая кнопка нажата.Процедуры обработки этих событий имеют четыре параметра:Button, shift, х и у.
Указанные параметры аналогичны параметрампроцедуры для события Перемещение указателя (за исключениемпараметра Button — так как в данном случае нажимается конкретная кнопка мыши, этот параметр определяет, какая это кнопка).Если пользователь нажмет сразу две кнопки, то события возникнут отдельно для каждой из этих кнопок.28. Событие Форматирование (Format) происходит после отбора данных для отчета, но перед фактическим форматированиемкаждого раздела. При этом в разделе данных это событие происходит для каждой записи в отчете, что позволяет при необходимости по-разному форматировать каждую из этих записей. В отчетеданное событие возникает для заголовка каждой группы. Процедура обработки этого события имеет два параметра: Cancel иFormatCount.
Присвоение значения True параметру Cancel позволяет отменить форматирование данного раздела, что дает возмож185ность пропускать разделы отчета, не оставляя пустого места настранице. Параметр FormatCount — это счетчик, который считает, сколько раз произошло событие Форматирование.29. Событие Возврат (Retreat) происходит, если при форматировании раздела требуется вернуться к разделу, который уже отформатирован. Оно происходит после события Форматирование,но до события Печать (Print). Процедура обработки этого событияпозволяет изменить любое уже выполненное форматирование иобеспечить таким образом нужное расположение элементов отчета на странице.Событие Возврат (Retreat) возникает практически после каждого события Форматирование (кроме тех разделов, которые небудут печататься). Процедура обработки данного события имеетдва параметра: Cancel и Printcount.
Параметр Cancel позволяет отменить печать текущего раздела или текущей записи в отчете приприсвоении ему значения True. Однако при этом остается пустоеместо на странице, поэтому эту процедуру можно использовать,когда изменения не касаются формата страницы отчета. ПараметрPrintcount — это счетчик, который считает, сколько раз произошлособытие.30.
Событие Страница (Page) возникает после форматирования страницы отчета, но до вывода ее на печать, и позволяет спомощью процедуры обработки добавить на страницу некоторыеэлементы оформления, например рамку.31. Событие Отсутствие данных (No Data) возникает послеформатирования отчета, но до его вывода на печать (до первогособытия Страница), и позволяет обнаружить отсутствие записейдля отчета; в этом случае печать можно отменить.
Процедура обработки этого события имеет один параметр cancel, которомуследует присвоить значение True, если нужно отменить печатьотчета.32. Событие Применение фильтра (ApplyFilter) возникает во всехслучаях, когда пользователь выполняет фильтрацию записей вформе с помощью соответствующих команд меню, контекстногоменю или кнопок панели инструментов [Применить фильтр] и[Удалить фильтр]. Программу обработки этого события обычно используют либо для проверки условия в фильтре, либо для изменения вида формы перед применением фильтра, если требуетсяскрыть лишние поля или, наоборот, показать скрытые. Программа обработки события имеет два параметра: Cancel и ApplyType.Параметр Cancel позволяет отменить операцию фильтрации, если,например, условие сформулировано неправильно, для чего нужно присвоить ему значение True.
Параметр ApplyType определяетисполняемое действие и может принимать значения 0; 1; 2. Значение 0 указывает на удаление фильтра, 1 — на его применение, 2 —на закрытие его окна.18633. Событие Фильтрация (Filter) возникает перед открытиемокна фильтра или расширенного фильтра, когда пользовательпытается выполнить команду Изменить фильтр (Filter by Form).Использовать это событие очень удобно, если требуется, например, ввести в фильтр некоторые условия по умолчанию или запретить включать в условия отбора некоторые поля.
Чтобы запретить включить некоторое поле в условие отбора в окне фильтра,достаточно скрыть его в процедуре обработки события Фильтрация (Filter). Правда, это относится только к окну обычного фильтра, так как в окне расширенного фильтра выводятся все поля, втом числе и скрытые.Можно даже заменить стандартное окно фильтра своим собственным, в котором пользователь и будет задавать условия отбора. Процедура обработки события имеет два параметра: Cancel иFilterType.
Параметр Cancel позволяет отменить открытие стандартного окна фильтра, если вместо него будет выводиться специальная форма, присвоением ему значения True. ПараметрFilterType определяет, какое окно открывается, и может принимать значения 0 или 1. Значение 0 соответствует обычному фильтру, а 1 — расширенному.34.
Событие Открытие (Open) происходит после выполнениязапроса, лежащего в основе формы или отчета, но до отображения первой записи или печати отчета. Процедура обработки этогособытия имеет один параметр Cancel, при присвоении которомузначения True отменяется открытие формы или отчета.35. Событие Закрытие (Close) является последним перед удалением формы с экрана. Обычно его используют для открытиядругой формы.36. Событие Загрузка (Load) происходит сразу после событияОткрытие (Open), но в отличие от него не может быть отменено.Обычно его используют для динамического изменения свойствформы или элементов управления перед выведением формы наэкран.37.
Событие Выгрузка (Unload) происходит при закрытии формы и может быть отменено. Обычно это событие используется дляпроверки различных условий, которые определяют, можно лизакрывать форму. Процедура обработки этого события имеет одинпараметр Cancel. При значении True этого параметра закрытиеформы отменяется.38. Событие Изменение размера (Resize) возникает при открытии формы и изменении ее размеров. Его обычно используют,если требуется подстроить размер элементов управления под изменяющиеся размеры формы или найти заново вычисляемые элементы.
Если при каждом изменении размеров формы необходимообновление экрана, следует использовать в процедуре обработкиэтого события метод Repaint.18739. Событие Ошибка (Error) возникает, когда в процессе обработки формы или отчета ядром Access возникает ошибка.
В процедуре обработки этого события можно перехватить стандартноесообщение об ошибке, которое выдает Access, и выдать собственное сообщение. Процедура имеет два параметра: DataErr и Response.Параметр DataErr содержит код ошибки, а параметр Responseможет принимать два значения: 0 и 1. Значение 0 отменяет выдачустандартного сообщения об ошибке, а значение 1 позволяет егоотобразить.40. Событие Таймер (Timer) возникает регулярно через интервал времени, который задается свойством Интервал таймера(Timerlnterval) формы, и позволяет определять действия, которые должны выполняться периодически по сигналу таймера.
Обычно оно используется для регулярных обновлений экрана в многопользовательском приложении. В этом случае в процедуре обработки этого события следует использовать метод Requery, который будет выполнять повторный запрос источника данных формы.ПРИЛОЖЕНИЕ 2Функции VBA в алфавитном порядкеAbs (VBA). Возвращает значение, тип которого совпадает с типом переданного аргумента, равное абсолютному значению указанного числа.Синтаксис:Abs (число)Обязательный аргумент число может представлять собой любоедопустимое числовое выражение.
Если число имеет значение Null,возвращается значение Null. Если аргумент представляет собой неинициализированную переменную, возвращается нулевое значение.Array (VBA). Возвращает значение типа Variant, содержащеемассив.Синтаксис:Аггау(списокАргументов)Обязательный аргумент списокАргументов представляет собойразделенный запятыми список значений, присваиваемых элементам массива, содержащегося внутри значения типа Variant.
Еслиаргументы не указываются, создается массив нулевой длины.Для ссылки на элемент массива записывается имя переменной, за которым в скобках следуют номера индексов нужного элемента. В приведенном здесь примере первая инструкция создаетпеременную А типа Variant, вторая — присваивает массив переменной А, а последняя — показывает, как присвоить другой переменной значение второго элемента массива:Dim A As VariantА = Array(10,20,30)В = А (2)Нижняя граница индексов массива, созданного с помощьюфункции Array, всегда равняется нулю. В отличие от массивов дру189гих типов она не определяется нижней границей, заданной в инструкции Option Base.Значение типа Variant, не описанное как массив, все равноможет содержать массив.
Переменная типа Variant может содержать массив любого типа, за исключением строк фиксированнойдлины и определяемых пользователем типов. Хотя значение типаVariant, содержащее массив, концептуально отличается от массива, элементы которого имеют тип Variant, доступ к элементаммассива осуществляется тем же способом.Asc (VBA). Возвращает значение типа Integer, представляющеесобой код символа для первого символа строки.Синтаксис:Asc(cTpoKa)Обязательный аргумент строка является любым допустимымстроковым выражением. Если строка не содержит символов, возникает ошибка выполнения.Возвращаемые значения находятся в диапазоне 0...