Введение в microsoft access (835789), страница 5
Текст из файла (страница 5)
48б). Дадим формеимя«Списокучеников»(рис.На экране появится окно формы (рис.49).«Готово».50). Заметим:§ 2.2. Форма «Список учеников»Рис. 49.Рис. 50.53Ввод имени формыФорма «Список учеников»первой в списке стоит запись с номером 6. Это потому, чтов источнике данных записи отсортированы по алфавиту.Структура окна в целом та же: вверху – заголовок формы,ниже – область данных, еще ниже – примечание формы.Слева от каждого поля – область выделения. Напомним,что если щелкнуть по этой области левой клавишей мыши, а затем нажать «Delete», то запись будет удалена.Перейдем в режим конструктора и внесем небольшие корректировки:иззаголовкаформыудалимнадписи54ГЛАВА 2. ФОРМЫ И МАКРОСЫ«Список учеников», «ID_ученик» и «Буква». Сократимобластьзаголовка.Ненужноепользователюполе«ID_ученик», расположенное в области данных, переместим в примечание формы.
Откорректируем размеры полей и поле «Буква» придвинем поближе к полю «Класс».И наконец, создадим в примечании формы кнопку «Закрыть». Закроем конструктор с сохранением результатови откроем форму в рабочем режиме (рис.Рис. 51.51). УбедимсяФорма «Список учеников»в том, что форма закрывается при нажатии на созданнуюнами кнопку.Таким образом, мы создали две формы: одна позволитпросмотреть упорядоченный список учеников и быстро§ 2.2. Форма «Список учеников»найтиинтересующегонас;55другаяпредоставляетнамв удобном виде всю имеющуюся в базе информацию обученике. Возникает вопрос: а нельзя ли их как-то объединить? Действительно, кнопочных дел мастер предоставляет нам такую возможность. Откроем форму «Списокучеников» в режиме конструктора.
Бросим в примечаниеформы кнопку и начнем диалог с мастером. Прежде всегосообщим ему, что кнопка будет выполнять работу с формой, а именно: она должна открыть форму (рис.52а).Укажем, что кнопка должна открывать форму «Ученики»Рис. 52.Создание кнопки(рис.52б) и не для всех, а только отобранных записей(рис.52в). Далее мы должны указать, какие поля ис-пользуются для отбора записей. В диалоговом окне нампредлагают выбрать эти поля в формах «Список учеников» (слева) и «Ученики» (справа). В обеих формах выбираем поле «ID_ученик» (рис.53). Теперь видно, что56ГЛАВА 2.
ФОРМЫ И МАКРОСЫРис. 53.Связь между формаминенужное пользователю поле «ID_ученик» для разработчика очень даже полезно. После того как мы выделили этиполя, нажмем двойную стрелку посередине. Внизу диалогового окна за надписью «Соответствующие поля» появится текст: ID_ученик<->ID_ученик. Присвоим кнопке имя «Подробно», нажмем «Готово» и закроем конструктор. Откроем форму в рабочем режиме. Рядом с кнопкой«Закрыть» появилась кнопка «Подробно» (рис. 54). Убедимся, что при нажатии на эту кнопку открывается форма с подробной информацией о том ученике, на которомв списке мы установили указатель.
У нас есть время подумать, что нам не нравится в только что созданных формах.§ 2.3. Объекты, свойства, события и методыРис. 54.57Новая кнопкаА пока разберем один теоретический вопрос.§ 2.3. Объекты, свойства, события и методы52⇔69Немного теории. Приложения Microsoft Accessиспользуютподход,закоторымзакрепилосьназвание«объектно-ориентированное программирование» (ООП).Одно из ключевых понятий ООП – объект.
Объекты делятся на классы. Каждый конкретный объект – представитель своего класса. В частности, объектом является форма. В свою очередь, форма – контейнер для элементовуправления (надписи, поля, кнопки, переключатели, флажки и т. д.), которые также представляют собой объекты.Не следует отождествлять понятия «объект» и «класс объектов», хотя, например, под словом «кнопка» мы можемподразумеватькакконкретнуюкнопку,таки кнопку вообще. Точно так же в быту словом «дерево»58ГЛАВА 2. ФОРМЫ И МАКРОСЫмы иногда обозначаем дерево, растущее у нас под окном,а иногда класс растений. Класс объектов обладает некоторым набором присущих ему свойств.
Каждый представитель класса имеет конкретные значения этих свойств.Например, класс «Поле» обладает свойством «Цвет фона»и поля одной формы, в общем случае, могут быть окрашены в разные цвета. С объектами могут происходить «события». Например, для формы – это «Открытие формы»,«Закрытие формы» и т. д., для кнопки – «Нажатие кнопки», «Двойное нажатие кнопки» и т. д. Каждому событиюможет быть приписано действие, которое в ООП называют методом. Приведем известный каждому пользователюперсонального компьютера пример. В окнах многих приложений Microsoft можно встретить пиктограмму с изображением ножниц. Если установить курсор на эту пиктограмму, всплывет подсказка «Вырезать». Хотя, на первыйвзгляд, ничего не случилось: у пиктограммы произошлособытие «Получение фокуса», в ответ на это событие сработал «метод» – система выдала всплывающую подсказку.Откроем в режиме конструктора форму «Ученики».
Ранее мы обратили внимание, что поле «ID_ученик» дляпользователя не представляет интерес, но удалить его мы§ 2.3. Объекты, свойства, события и методы59не можем, так как оно нужно для установления связи между формами. Дабы оградить пользователя от ненужнойему информации, сделаем поле невидимым. Выделим поле«ID_ученик». В правой части окна базы данных откроетсяокноегосвойствРис. 55.(рис.55).ВыберемвкладкуСвойства поля «ID_ученик»«Макет». Появится список свойств под заголовком «Формат поля».
Найдем строку «Вывод на экран». Мы видим,что этому свойству назначено значение «Да». Изменим егона «Нет» (рис.56а), выбрав соответствующий пункт ме-ню или введя текст вручную. Теперь в рабочем режимеэто поле будет невидимым. Далее, если нам понадобится перейти к свойствам другого элемента управления, незакрывая окно свойств, достаточно сделать один щелчоклевой клавишей по изображению соответствующего элемента.
Чтобы увидеть свойства области данных (она тоже60ГЛАВА 2. ФОРМЫ И МАКРОСЫРис. 56.Как сделать поле «невидимкой»объект), надо найти в этой области данных пустое место,т.е. место, не занятое элементами управления, и щелк-нуть по нему. А чтобы перейти к свойствам самой формы,надо щелкнуть по квадратику, расположенному в верхнейчасти формы слева от линейки. Это мы сейчас и сделаем. На экране появятся свойства формы (рис.
56б). Изменим некоторые из них. Когда мы установили связь между формами «Ученики» и «Список учеников» (с. 55), тоне подумали, какие конфликты из-за этого могут возникнуть. Например, мы удалим запись в форме «Ученики»,а в форме «Список учеников» она останется. Конечно, система выдаст соответствующее сообщение, но лучше сразу§ 2.3. Объекты, свойства, события и методы61договориться, что удаление и добавление записей разрешено только в форме «Список учеников».
В форме «Ученики» мы только просматриваем и редактируем записи. Значит, в ней не нужны область выделения и кнопки навигации.Отредактируемсвойстванавкладке«Макет».В первой строке подпись «Ученики» можно исправить на«Ученик»; в строке «Область выделения» развернем менюи выберем пункт «Отсутствует»; «Кнопки навигации» –«Нет»; «Полосы прокрутки» – «Отсутствуют». Перейдемна вкладку «Данные». Установим значения: «Разрешитьдобавление» – «Нет»; «Разрешить удаление» – «Нет».
Насамом деле в процессе редактирования формы мы частопереходим в рабочий режим, чтобы посмотреть, что получилось, и опять возвращаемся в режим конструктора.Теперь мы умеем делать это быстро. На всякий случайнапомню: для этих целей есть пиктограммы справа в нижней части окна формы (рис.44 на с.49). Что нам ещене нравится в созданной мастером форме? Пожалуй, онакакая-то бледная, даже по сравнению с диалоговыми окнами мастера.
Попробуем это исправить. Щелкнем по области данных. Справа появится окно ее свойств (рис. 57).В этом окне выберем строку «Цвет фона». Как только указатель окажется на этой строке, в правой ее части появитсякнопкастекстом«· · ·».Щелкнувпоней,62ГЛАВА 2. ФОРМЫ И МАКРОСЫРис.
57.Установка цвета фонаразвернем набор цветов и выберем 5-й сверху в первойколонке. На новом фоне желательно изменить цвета текстов. Выделим все элементы управления, как показанона рис. 58. Для этого достаточно установить указательРис. 58.Установка цвета шрифта§ 2.3. Объекты, свойства, события и методы63в одном из углов области данных, нажать левую клавишумыши и, не отпуская ее, перевести указатель в противоположный угол. В окне свойств найдем строку «Цвет текста»и выберем черный цвет. Если теперь перейти в рабочийрежим, форма будет иметь вид, как на рис. 59.