Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Взаимодействие с другими формамиСодержание книги
Поиск на нашем сайте
Как вы узнали в главе 15, можно извлекать и задавать значения свойств полей и элементов управления на текущей форме или других открытых в данный момент формах. Хитрость заключается в том, что нужно явно указать программе Access, какую форму вы пытаетесь использовать. Предположим, что вы хотите изменить цвет элемента управления Price (цена) на форме Product (товар) при щелчке мышью кнопки, находящейся на форме PriceChanger (преобразователь цен). Приведенный далее код не работает, поскольку Access ищет несуществующий элемент управления Price на форме PriceChanger: Price.BackColor = vbRed Следующий код отлично использует описанную хитрость и направляет программу Access к правильной форме: Forms("Product").Price.BackColor = vbRed Технически приведенный код заставляет программу Access заглянуть в коллекцию Forms (формы), отслеживающую все открытые в данный момент формы. (Если в настоящий момент форма Product не открыта, этот оператор даст сбой.) Он извлекает из коллекции форму Product, переходит к форме для доступа к элементу управления Price и затем углубляется в него для поиска свойства BackColor (Цвет фона). Логически равноценную строку кода можно записать двумя способами. Программисты Access старого образца применяют причудливый синтаксис с восклицательными знаками, который выглядит следующим образом: Forms!Product!Price!BackColor = vbRed Программа Access интерпретирует обе строки одинаково. Это просто дело вкуса. Но вы должны знать оба варианта, на случай, если столкнетесь со странным кодом с восклицательными знаками. Если вас огорчает, что этот подход приводит к ошибке в случае закрытой нужной формы, оба описанных метода не смогут выручить вас. В главе 17 вы узнаете, как открывать форму, когда захочется. В табл. 16.1 перечислены некоторые свойства элементов управления, которые могут вам понадобиться в программном коде на языке Visual Basic. Таблица 16.1. Полезные свойства элементов управления
Таблица 16.1 (окончание)
* Это более специальные свойства и в большинстве элементов управления они не используются.
Методы Методы позволяют выполнять действия с объектом. Во многих случаях вызов метода дает больше, чем просто задание свойства. В самом деле, один метод может выполнить комплексную операцию, которая повлияет на многие свойства. Метод Requery (обновление) заставляет вашу форму получить самые свежие данные из БД и затем обновить содержимое всех ее элементов управления.
Подсказка Если применяются элементы управления, большая часть времени тратится на работу со свойствами. Действительно, у элементов управления огромное множество свойств и лишь несколько добавочных методов.
Для применения метода вводится имя объекта с последующей точкой, за которой набирается имя метода. Но вам не нужен знак равенства, т. к. вы не задаете значение метода. Вы просто вызываете его для выполнения или активизируете. Далее приведен пример обновления текущей записи формы с помощью метода Refresh (обновить объект): Form.Refresh Иногда методу требуется дополнительная информация. Если у вас как раз тот случай, вы узнаете об этом, т. к. средство Visual Basic IntelliSense даст знать в процессе написания программного кода (рис. 16.7).
Если в методе нужно задать дополнительные данные, следует добавить пробел после имени метода и дальше указать соответствующее значение. Если требуется ввести несколько значений, каждое из них следует отделять запятой. Далее приведен пример, перемещающий элемент управления в левый верхний угол формы: Description.Move 0, 0
В табл. 16.2 перечислены наиболее важные методы элементов управления.
Таблица 16.2. Полезные методы элементов управления
Таблица 16.2 (окончание)
* Эти методы применяются только к объектам формы, а не отдельным элементам управления.
События Как вы знаете, события — это сообщения, которые объекты используют для передачи в ваш программный код сведений о том, что только что произошло нечто важное. Вы уже управляли событиями и применяли их в данной главе для реагирования на щелчки мышью кнопок. Список самых распространенных событий элементов управления приведен в табл. 15.4. До сих пор не рассматривался один аспект: как события могут предоставлять дополнительные биты данных. Как вы, наверное, уже заметили, у каждой процедуры есть пара скобок. Посмотрим на них еще раз: Private Sub ButtonOfPower_Click () В предыдущих примерах в этих скобках не было ничего. Но они введены не просто так. Некоторые события передают в ваш код дополнительную информацию о событии, и она вставляется в этот сэндвич из двух скобок. Рассмотрим событие Нажатие клавиши (On Key Press) поля ввода, которое возникает каждый раз, когда кто-то нажимает символ на клавиатуре. Оно предоставляет специальный числовой код, обозначающий нажатую клавишу (программисты называют его кодом ASCII.) Если добавить процедуру, реагирующую на событие Нажатие клавиши (On Key Press), программа Access сгенерирует код, подобный приведенному далее: Private Sub MyTextBox_KeyPress(KeyAscii As Integer) End Sub Этот код означает, что событие Нажатие клавиши (On Key Press) снабжает ваш код новой порцией информации. Это целое число, названное KeyAscii, его можно использовать в вашем коде. Далее приведен пример, который просто отображает код нажатой клавиши в окне сообщения: Private Sub MyTextBox_KeyPress(KeyAscii As Integer) MsgBox "Вы нажали клавишу с кодом: " & KeyAscii Некоторые события предоставляют несколько порций данных. В этих случаях вы увидите в скобках целый список. Каждая порция данных отделяется запятой и называется параметром.
Примечание Формально параметры — разновидность переменных. Переменные — это удобные контейнеры, хранящие некоторые данные. (Эти данные могут меняться, поэтому их и назвали переменными.) Вы узнаете больше об использовании переменных а разд. "Хранение информации в переменных" главы 17.
Далее приведен пример для события Перемещение указателя (On Mouse Move), которое возникает при перемещении указателя мыши поверх элемента управления. Открывающееся объявление процедуры такой длины, что приходится разделить его на две строки с помощью знака подчеркивания:
Private Sub SomeControl_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) End Sub
В данном случае вы получаете четыре порции данных. Параметр Button обозначает, какие кнопки мыши нажаты в данный момент. Параметр Shift показывает, удерживаются ли нажатыми во время перемещения мыши клавиши <Shift>, <Ctrl> и <Alt>. И, наконец, параметры X и Y определяют местоположение указателя мыши (его координаты).
Применение объектов Теперь, когда вы познакомились с основами языка Visual Basic, вам, наверное, не терпится начать писать реальный программный код. В следующих разделах представлены два примера, заставляющие элементы управления работать.
Подсказка Если хотите знать больше, можно найти подробное руководство по применению объектов в справочной, системе Access. Для получения справки выберите в редакторе VESA2 Help → Справка: Microsoft Visual Basic (Help → Microsoft Visual Basic Help). Дальше последовательно выберите следующие темы: Visual Basic for Applications Language Reference → Microsoft Forms Visual Basic Reference → Reference. Затем вы увидите список всех объектов, предлагаемых программой Access (щелкните мышью строку Objects) или сформируйте комбинированный список событий, методов и свойств, предлагаемых объектами Access (щелкните кнопкой мыши строку Events, Methods или Properties). 2 Справка редактора VBA приводится на английском языке. —. Пер.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-14; просмотров: 151; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.93.168 (0.008 с.) |