Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика в программе Access на лето

.pdf
Скачиваний:
37
Добавлен:
10.04.2015
Размер:
1.27 Mб
Скачать

ную — это «перетаскивание» нужных элементов из панели элементов в область проектирования формы с последующим уточнением свойств элементов с помощью окна Свойства.

Рис. 52

Следует заметить, что создание формы с использованием конструктора редко начинается с пустой области проектирования, т.е. «с нуля». Гораздо эффективнее сначала создать форму с использованием мастера создания формы, а затем внести в нее усовершенствования (отредактировать), используя конструктор. При таком порядке работы нужно в окне базы данных щелкнуть на закладке Формы, выбрать щелчком мыши имя той формы, которую мы хотим усовершенствовать, и затем щелкнуть на кнопке Конструктор. Появится точно такое же окно конструктора, как на рис. 52, только ранее пустая область проектирования формы будет заполнена готовой формой, созданной с помощью мастера.

Форма, разработанная с помощью мастера, имеет следующие недостатки:

сокращенные имена полей затрудняют восприятие информации (ведь пояснения, напечатанные в окне конструктора таблиц не видны);

мало места для надписей, что затрудняет редактирование имен полей;

нерационально используется площадь экрана;

нет смысловой группировки элементов, что затрудняет восприятие информации, приведенной в форме;

отсутствуют средства редактирования.

Если в каком-либо конкретном случае форма с такими недостатками нас не устраивает, следует приступить к ее усовершенствованию вручную. В за-

60

дачи усовершенствования формы вручную (по устранению перечисленных выше недостатков) входят:

перенос элементов формы (их «растаскивание» по всей площади экрана) и формирование логически обособленных групп при необходимости;

изменение размеров полей;

редактирование текста имен полей;

добавление в форму новых элементов.

2.4.1. Перенос элементов формы

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

щелкнуть на поле левой клавишей мыши. Поле окажется выделенным, т.е. окруженным маленькими квадратиками (маркерами). Маркер в левом верхнем углу имеет больший размер, чем все остальные;

совместить указатель мыши с этим маркером. Указатель мыши примет вид кисти руки с поднятым вверх указательным пальцем;

нажать левую клавишу мыши и перетащить поле в требуемое положение;

отпустить левую клавишу мыши.

2.4.2. Изменение размеров элементов управления формы

Для изменения размеров элемента управления следует щелкнуть на нем левой клавишей мыши. Поле окажется окруженным маркерами. Затем нужно совместить указатель мыши с нужным маркером и протащить его до получения требуемого размера.

2.4.3. Редактирование данных в полях

Для редактирования данных в полях нужно по выделенному полю щелкнуть мышью. В поле появится курсор в виде мигающей вертикальной черточки. Далее редактирование осуществляется с клавиатуры обычными средствами (как в любом текстовом редакторе).

2.4.4. Добавление управляющих элементов

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

61

можно перенести в любое место экрана, как любое окно в Windows. Можно это окно убрать или вставить командой Вид/Панель элементов или вновь ввести нажатием на пиктограмму с изображением молотка и гаечного ключа.

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

Выбор объектов. Если активизирована данная пиктограмма (а она активизируется по умолчанию), курсором мыши можно маркировать поля, выполнять переносы и изменять размеры, как описано выше.

Надпись. Вставка в форму нового поля с текстом.

Поле. Отображение имени и содержимого некоторого поля таблицы, запроса базы данных или вычисляемого поля.

Группа переключателей. Создание и размещение группы, в которую можно ввести контрольные индикаторы, селекторные кнопки или двухпозиционные кнопки с фиксацией.

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

Флажок. Индикация/изменение значения опции, которая может иметь одно из двух возможных значений (включена/выключена).

Комбинированный список (окно выпадающего списка). После щелчка на манипуляторе открытия (кнопка с треугольничком-стрелкой на правом краю поля) комбинированный список разворачивается.

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

Кнопка. Создание кнопки, с которой может быть связана некоторая команда или последовательность действий. Например, можно создать командную кнопку Next (Далее), с помощью которой будет производиться переход к следующей записи. Команда, соответствующая кнопке, должна быть определена как макрос.

Присоединенная рамка объекта. Встраивание в форму иллюстрации или другого OLE-объекта, который хранится в таблице базы данных Access. Встраивание возможно, если в таблице имеется OLE-поле, хранящее совокупность соответствующих объектов (по одному объекту на каждую запись).

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

Подформа. Встраивание подчиненной формы в главную форму и установка отношений между ними путем указания в качестве значения свойст-

62

ва Данные имени подчиненной таблицы. Можно встроить любое число подчиненных форм, а не только одну, как это показано в приведенном выше примере с использованием мастера.

Линия. С помощью данной пиктограммы в форме можно провести прямую линию.

Прямоугольник. Объединение и выделение группы элементов формы посредством заключения их в прямоугольную рамку.

Эти элементы управления можно вставлять в область проектирования формы. Для того чтобы вставить элемент управления в область проектирования формы, надо на нем щелкнуть мышью (указываем, какой элемент выбран для вставки), затем перенести указатель мыши на нужное место формы и снова щелкнуть левой клавишей мыши (указываем место, где разместить выбранный элемент). Выбранный элемент управления окажется в указанном месте формы. Каждый элемент формы обладает своим множеством свойств (местоположение в форме, размеры и т.д.). Значение свойств каждого элемента формы отображается в специальном окне свойств элементов, показанном на рис. 52 справа. Значения свойств можно изменять (редактировать) непосредственно в этом окне.

Для примера в режиме конструктора отредактируем форму СТРОЙМАТ и добавим в область примечаний формы кнопку для просмотра диаграммы. Для этого следует:

открыть в режиме конструктора форму СТРОЙМАТ, созданную ранее с помощью мастера. Отредактировать ее, как это описано выше (добавить заголовок, растащить поля, отредактировать тексты надписей);

щелкнуть мышью на элементе Кнопка панели элементов формы, а затем примерно посредине области примечаний формы. В указанном месте формы появится изображение кнопки;

вызвать окно свойств командой Вид/Свойства;

выбрать готовый рисунок-пиктограмму, который будет «украшать» кнопку. Для этого в окне свойств щелкнуть мышью на кнопке с тремя точками в строке Рисунок. Появляется окно построителя рисунка, приведенное на рис. 53;

в окне Построитель рисунков выбрать строку Диаграмма из списка

Имеющиеся рисунки и нажать кнопку ОК. Окно построителя рисунков исчезнет. На изображении формы на кнопке появится изображение столбиковой диаграммы;

откорректировать размеры кнопки по размерам картинки на ней, пользуясь размерными маркерами;

ввести подпись для кнопки. Для этого щелкнем по элементу Надпись панели элементов формы, а затем протаскиванием мыши укажем ее место и размеры. Щелкнем на появившемся поле надписи и введем с клавиатуры текст Вызов диаграммы;

просмотреть форму командой меню Вид/Режим формы;

сохранить усовершенствованную форму командой Файл/Сохранить;

63

закрыть форму щелчком мыши на кнопке с крестиком в правом верхнем углу формы;

переименовать форму. Для этого в окне базы данных щелкнуть по ее имени правой клавишей мыши. На имени формы появится курсор. Ввести новое имя СТРМ_КОНСТР.

Рис. 53

Окончательный вид формы СТРМ_КОНСТР после редактирования в окне конструктора показан на рис. 54.

Рис. 54

2.5. Встраивание объектов в форму

Под объектами будем понимать все то, что создано не в среде Access, а в других Windows-приложениях. СУБД Access может работать с такими объектами, как, например, рисунок Paint, рисунок MS Word, формула

MS Equation, документ MS Word, лист MS Excel, диаграмма MS Excel, музы-

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

64

встраивания объектов базируется на механизме OLE (Object Linking and Embedding). При встраивании объекта можно применить один из двух способов: внедрение и связывание.

При внедрении объект хранится в файле базы данных. При связывании объект хранится в отдельном от базы данных файле, созданном родительской программой, а в базе данных хранится только путь к этому файлу. В момент загрузки и открытия таблицы, формы или отчета, где используется связанный объект, Access связывается с этим файлом, извлекает его содержимое и вставляет в таблицу, форму или отчет. Связывание объектов рекомендуется применять в тех случаях, когда в базу данных необходимо включить объект, который можно изменять, не вызывая Access. Например, речь может идти о таблице счетов, обрабатываемой табличным процессором Excel и используемой в нескольких базах данных. Наличие связи этих баз данных с одним и тем же Excel-файлом гарантирует наличие в них последней (самой свежей) версии таблицы счетов. Преимущество связи заключается в том, что оригинальный объект можно связать с несколькими базами данных и при этом его не нужно многократно подвергать копированию и сохранению в базах данных. Но следует помнить, что измененной версией будут пользоваться все приложения, которые связаны с этим объектом. Например, связанный объект — лист Excel c расценками товаров создает и регулярно вносит в него текущие изменения только фирма-продавец в среде Excel, а все фирмыпокупатели в своих СУБД лишь просматривают его.

Рассмотрим пример встраивания внедренного объекта в таблицу базы данных. Пусть в каком-либо каталоге хранятся файлы, содержащие сканированные портреты всех директоров заводов, отредактированные в графическом редакторе Paint. В таблицу ЗАВОД в режиме конструктора таблиц наряду с полями Н_ЗАВ, А_ЗАВ и ТЛФ_Д добавим новое поле с типом данных Поле объекта OLE с именем поля П_ДИР (портрет директора завода). В режиме ввода данных в таблице ЗАВОД щелкнем мышью в поле П_ДИР в первой строке, а затем введем команду меню Вставка/Объект. Появится окно Вставка объекта, показанное на рис. 55.

Рис. 55

65

Если бы мы хотели сами нарисовать портреты директоров в редакторе Paint, то выбрали бы опцию Создать новый. В этом случае объекты будут внедренными. Но так как имеются готовые файлы, мы выбираем опцию Создать из файла. В списке Тип объекта: выбираем строку с надписью Точеч-

ный рисунок Paint и нажимаем кнопку ОК. Окно Вставка объекта примет вид, показанный на рис. 56.

Рис. 56

Опцию Связь не включаем, так как нам нужно встроить внедренные объекты, которые будут храниться в самой базе данных наравне со всеми другими данными. Далее нажимаем кнопку Обзор и в открывшемся окне Обзор находим и вводим файл с нужным портретом. Нажимаем кнопку ОК. Вновь появляется окно Вставка объекта. В этом окне также нажимаем кнопку ОК. Появляется окно таблицы ЗАВОД в режиме ввода данных. В первой строке таблицы в поле П_ДИР появилась надпись Точечный рисунок Paint. Аналогичным путем вводим в таблицу ЗАВОД остальные файлы с портретами директоров. Теперь каждое изображение директора завода будет внедренным объектом, оно будет храниться в самой базе данных, как и все остальные данные. Исходные файлы с портретами теперь не нужны, их можно удалить.

Портрет директора можно увидеть, если выполнить двойной щелчок мышью по надписи Точечный рисунок Paint в поле П_ДИР в соответствующей записи таблицы ЗАВОД в режиме ввода данных. Однако просмотр таблицы ЗАВОД удобнее осуществлять в форме. Для этого создадим форму Автоформа: в столбец. В форме будет расположено окно с портретом директора завода, соответствующего записи с первым номером. Переключая номер записи, можно быстро просматривать информацию таблицы ЗАВОД, в том числе портреты директоров. Введем команду Вид/Конструктор и отредактируем форму (удалим лишние поля, заменим сокращения и изменим размеры окна для портрета), после чего сохраним ее под именем ПОРТРЕТЫ. Вид отредактированной формы ПОРТРЕТЫ показан на рис. 57.

66

Рис. 57

При создании формы в режиме конструктора для ввода поля внедренного объекта следует воспользоваться управляющим элементом Присоединенная рамка объекта, а в таблице его свойств в строке Данные указать поле П_ДИР таблицы ЗАВОД.

Рассмотрим пример встраивания связанного объекта (рисунка Paint) в произвольное место формы СТРОЙМАТ, созданной ранее с помощью мастера В один столбец и затем усовершенствованной (вставлена кнопка). Файл с рисунком Paint имеется в одном из каталогов.

В окне базы данных щелкнем на закладке Формы, а затем на имени СТРОЙМАТ и на кнопке Конструктор. Переместим поля и надписи к ним так, чтобы освободить место для будущего рисунка. Далее следует щелкнуть мышью на пиктограмме управляющего элемента Свободная рамка объекта, а затем на том месте формы, где должен появиться левый верхний угол рисунка, и, протаскивая указатель мыши, определить размеры рисунка. Через несколько секунд появится окно Вставка объекта, показанное на рис. 55.

В списке Тип объекта выбираем Точечный рисунок Paint.

Если бы мы хотели сами нарисовать портреты директоров в редакторе Paint, то выбрали бы опцию Создать. В этом случае объекты будут внедренными. Но так как имеется готовый файл с рисунком, мы выбираем опцию Из файла и нажимаем кнопку ОК. Окно Вставка объекта примет вид, показанный на рис. 56. Так как нам нужно сделать встраиваемый объект связанным, включаем опцию Связь. Далее нажимаем кнопку Поиск и в открывшемся окне Поиск находим и вводим файл с нужным рисунком. Нажимаем кнопку ОК. Вновь появляется окно Вставка объекта. В этом окне также нажимаем кнопку ОК. Окно Вставка объекта исчезает. Появляется форма в режиме конструктора со вставленной картинкой. Вид открытой формы СТРМ_КОНСТР приведен на рис. 58.

67

Рис. 58

Сохраним измененную форму СТРМ_КОНСТР командой Файл/Сохранить. Закроем программу Access. Запустим программу Paint, загрузим в нее объект (файл с рисунком) и внесем в него изменения. Закроем Paint и вновь запустим Access. Откроем форму СТРМ_КОНСТР. Убедимся, что изменения в рисунке отображаются в форме, так как включена опция Связь в окне

Вставка объекта.

2.6.Вычисления в формах

Вформе в вычисляемом поле можно выводить результат вычисления математического выражения, операндами которого являются поля таблицы — источника данных. Для демонстрации вычислительных возможностей формы введем в форме СТРМ_КОНСТР ниже поля с надписью ПРОИЗВОДСТВО (см. рис. 58) вычисляемое поле с надписью ОБЪЕМ РЕАЛИЗАЦИИ, в котором должно отображаться числовое значение выражения =ЦЕНА*ПРОИЗВ.

Для решения этой задачи откроем в режиме конструктора форму СТРМ_КОНСТР и перетащим в нее элемент управления Поле. Отрегулируем его положение и размеры, как это описано выше. В область его надписи введем слова Объем реализации. В самом поле видна надпись Свободный. Для связывания его с таблицей-источником СТРОЙМАТ щелкнем мышью на самом поле. Оно окажется в обрамлении маркеров. Командой Вид/Свойства вызовем окно свойств. Щелкнем мышью в строке Данные списка свойств (вторая сверху). В этой строке появится курсор. Напечатаем с клавиатуры выражение =ЦЕНА*ПРОИЗВ. Можно воспользоваться также построителем выражений.

Закроем окно свойств, щелкнув мышью сначала в его левом верхнем углу, а затем на слове Закрыть. Убедимся в том, что в вычисляемом поле вместо слова Свободный появилось введенное выражение. Перейдем из режима конструктора в режим формы командой Вид/Режим формы. Появится форма, показанная на рис. 59.

68

Рис. 59

Переключая номера выводимых записей, убедимся, что вычисления производятся правильно. Сохраним эту форму под новым именем. Для этого введем команду Файл/Сохранить как... и в появившемся окне Сохранение заменим имя СТРМ_КОНСТР на СТРМ_ОБЪЕМ. Нажмем кнопку ОК. Закроем форму, щелкнув в ее левом верхнем углу, а затем на слове Закрыть.

2.7. Поля типа МЕМО

Работу с полями типа МЕМО рассмотрим на следующем примере. Пусть нужно в таблицу ЗАВОД ввести текст анкеты на каждого директора завода, а затем в специальной форме обеспечить ввод, просмотр и редактирование текстов всех анкет. Для решения этой задачи добавим в таблицу ЗАВОД новое поле с именем АНК и с типом данных Поле МЕМО. Закроем таблицу ЗАВОД с сохранением изменений. Создадим автоформу в столбец. Убедимся, что в новой форме имеется прямоугольная область для текста анкеты с подписью АНК. Введем команду меню Вид/Конструктор и отредактируем форму. При этом отбираем поля Н_ЗАВ и АНК (остальные поля — по усмотрению) и устанавливаем мышью размеры и положение окна для ввода текста и других полей, если они имеются. Перейдем в режим формы, установим запись с нужным номером, введем и отредактируем анкеты на каждого директора завода. Вид формы ЗАВОД в этот момент показан на рис. 60.

Рис. 60

69