Добавление, удаление и перемещение элементов управления

Для добавления новых полей на страницу доступа к данным в режиме Конструктора предназначено окно Список полей (Field List), представленное на рис. 12.28. Если оно скрыто, его можно отобразить с помощью команды меню Вид, Список полей (View, Field List) или кнопки Список полей (Field List) на панели инструментов Макет страницы (Page Design).

Окна Список полей и Структура данных

Рис. 12.28. Окна Список полей и Структура данных

В окне Список нолей отображаются списки всех таблиц и запросов открытой базы данных. Еще одно окно — Структура данных (Data Outline) (см. рис. 12.28) — имеет очень похожий вид, но отображает структуру данных, добавленных на страницу: уровни группировки и набор записей, что является источником данных для открытой страницы доступа к данным. Это окно можно отобразить командой меню Вид, Структура данных (View, Data Outline) или кнопкой Структура данных (Data Outline) на панели инструментов Макет страницы (Page Design). В этих окнах для каждой таблицы, запроса или набора записей можно отобразить список полей. Списки таблиц, запросов и их полей представлены в виде иерархии, подобной иерархии папок и файлов, отображающейся в окне приложения "Проводник" (Explorer) Windows. Каждый уровень иерархии можно раскрыть с помощью кнопки с изображением значка плюс (+) или свернуть с помощью кнопки с изображением значка минус (— ), отображенного рядом с элементом верхнего уровня иерархии.

  1. В диалоговом окне Список полей раскройте список таблиц, щелкнув по кнопке с изображением значка плюс (+) напротив надписи Таблицы (Tables).
  2. Раскройте список полей таблицы "Сотрудники" (Employees), щелкнув по кнопке с изображением значка плюс (+) напротив имени этой таблицы.
  3. С помощью полосы прокрутки переместитесь по списку полей и найдите поле, которое нужно добавить на страницу, выделите его, щелкнув левой кнопкой мыши.
  4. Нажмите кнопку Добавить на страницу (Add To Page) или перетащите поле в нужное место на странице с помощью мыши.

На странице появится текстовое поле, привязанное к выбранному полю, которое становится для этого элемента управления источником данных.

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

Полученная нами страница "Личная карточка", описанная в разд. "Создание автостраниц с помощью Мастера страниц доступа к данным" этой главы, имеет поля "Обращение" (TitleOfCourtesy) и "Подчиняется" (ReportsTo), которые отображаются как текстовые поля, а должны отображаться как поля подстановки, т. е. в виде списков с возможными значениями. Необходимо исправить этот недостаток, для чего создадим данные списки в режиме Конструктора заново и воспользуемся Мастером создания полей'подстановки.

Замечание

Чтобы в режиме Конструктора отображались диалоговые окна построителей и мастеров, упрощающих работу, необходимо оставить нажатой кнопку-переключатель Мастера (Control Wizards) на панели инструментов Панель элементов (Toolbox).

Сначала нужно удалить старые элементы управления:

  1. Откройте страницу "Личная карточка" в режиме Конструктора.
  2. Проверьте, что кнопка-переключатель Выбор объектов (Select Objects), находящаяся на панели инструментов Панель элементов, нажата.
  3. Выделите элемент управления текстовое поле "Обращение" (TitleOfCourtesy), для чего щелкните по нему левой кнопкой мыши.
  4. Нажмите клавишу <Delete>.

Точно так же удалите со страницы текстовое поле "Подчиняется" (ReportsTo). Чтобы добавить на страницу элемент управления раскрывающийся список "Обращение":

  1. На панели инструментов Панель элементов нажмите кнопку Раскрывающийся список (Dropdown List).
  2. Выберите на странице доступа к данным свободное место для размещения нового элемента управления, щелкните там левой кнопкой мыши и, не отпуская ее, растяните прямоугольный контур будущих очертаний элемента до желаемых размеров.
  3. Появится диалоговое окно Создание полей со списком (Combo Box Wizard), предлагающее выбрать вариант заполнения списка данными: из таблицы или запроса либо фиксированным набором значений. В нашем примере нужно выбрать переключатель Будет введен фиксированный набор значений (I will type in the values that I want). Нажмите кнопку Далее (Next).
  4. Откроется еще одно диалоговое окно Мастера создания списков. Введите список значений и нажмите кнопку Далее (Next).

Второе диалоговое окно Мастера создания списков

Рис. 12.29. Второе диалоговое окно Мастера создания списков

  1. В следующем диалоговом окне, показанном на рис. 12.29, требуется выбрать столбец, значения которого будут привязаны к значению списка. Выберите первый столбец Столбец1 (Coll) и нажмите кнопку Далее (Next).
  2. Появится последнее диалоговое окно мастера. Введите в текстовое поле строку Обращение: для создания надписи, которая будет отображаться рядом с полем со списком, и нажмите кнопку Готово (Finish).

Замечание

Аналогичным образом нужно добавить на страницу список Подчиняется, только в качестве источника элементов списка необходимо указать запрос. Запрос создайте из инструкции SQL в поле подстановки таблицы "Сотрудники" (Employees) и сохраните его в базе данных, например с именем "Подчинение" (рис. 12.30). Есть ограничение: в источнике элементов списка на странице должно быть не более двух столбцов. Процедура добавления списков на основе данных из таблиц/запросов аналогична описанной процедуре. Добавив на страницу элемент управления список или раскрывающийся список, нужно в первом окне Мастера создания списка выбрать вариант заполнения списка из таблицы или запроса и на следующем шаге указать имя этого источника данных. Созданные списки необходимо привязать к соответствующим полям в источнике данных станицы, чтобы в списках отображалось значение для текущей записи. Сделать это можно в окне свойств элемента (см. разд. "Изменение свойств страницы доступа к данным и ее элементов" в этой главе).

Запрос "Подчинение" — источник для заполнения списка "Подчиняется"

Рис. 12.30. Запрос "Подчинение" — источник для заполнения списка "Подчиняется"

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

Изменить размеры элемента управления можно, растянув с помощью кнопки мыши маркеры изменения размеров, отображающиеся в виде маленьких белых квадратиков по периметру выделенного элемента управления.

Если при перемещении элемента вы случайно закрыли один элемент другим, можно поместить верхний элемент на задний план, чтобы отобразить заслоненный элемент:

  1. Выделите элемент управления, щелкнув по нему.
  2. Выберите команду Формат, На задний план (Format, Send to Back).

Мы уже говорили, что у страницы "Личная карточка" не хватает возможности для перехода по записям в источнике данных, чтобы иметь возможность просмотра и правки личных карточек всех сотрудников. В Access 2002 есть возможность добавления на страницу доступа к данным специального элемента управления — кнопки перехода, включающего не только специальные кнопки для перехода по записям, но и кнопки для сортировки и фильтрации записей, а также кнопки сохранения и отмены изменений для текущей записи, добавления и удаления записи. Чтобы добавить этот элемент управления, воспользуйтесь кнопкой Кнопки перехода (Record Navigation) на панели инструментов Панель элементов (Toolbox). Размещение и изменение размеров этого элемента управления выполняется так же, как и для других элементов управления.

Итак, теперь наша страница несколько преобразилась и с ее помощью теперь можно добавлять новые записи. Для этого откройте страницу в режиме Просмотра, нажмите кнопку Новый (New) на панели Кнопки перехода, затем заполните поля и нажмите кнопку Сохранить (Save) на этой же панели (рис. 12.31).

Новая запись на странице Личная карточка

Рис. 12.31. Новая запись на странице Личная карточка

Если вашей странице не нужны все кнопки, изображенные на панели кнопок перехода, вы можете создать собственные элементы управления, с помощью которых будут выполняться необходимые действия. Эти действия придется запрограммировать и назначить их в качестве обработчиков событий элементов. Например, в базе данных "Борей" (Northwind) на странице "Сотрудники" (Employees) для перехода по записям используются текстовые надписи, щелчок по которым вызывает необходимое деиствне. Если в качестве таких элементов использовать кнопки, то для их создания можно обойтись без программирования. Необходимую процедуру создаст мастер:

  1. Откройте страницу в режиме Конструктора.
  2. Нажмите кнопку Кнопка (Command Button) на панели инструментов Панель элементов (Toolbox).
  3. На свободном участке страницы доступа к данным щелкните кнопкой мыши и, не отпуская кнопки, растяните контур кнопки до желаемых размеров.
  4. Отпустите кнопку мыши. Появится диалоговое окно Мастера создания кнопок.
  5. В списке категорий выделите элемент Обработка записей (Record Operations), а в списке действий — необходимое действие, например элемент Сохранить запись (Save Record), чтобы создать кнопку для сохранения измененной записи. Нажмите кнопку Далее (Next).
  6. Чтобы отобразить на кнопке не рисунок, а текстовую надпись, выберите переключатель Текст (Text) и введите текст: Сохранить. Нажмите кнопку Далее.
  7. На последнем шаге мастера требуется указать имя кнопки для ссылки на нее. Введите имя Сохранить. Нажмите кнопку Готово (Finish).

Таким образом, на странице появится работающая кнопка Сохранить. Сортировка и группировка данных

На страницах доступа к данным возможна группировка записей, как и в отчетах Access. Группы объединяют данные в наборы. Например, записи заказов на странице доступа к данным могут быть сгруппированы по странам. Название каждой страны — это заголовок группы. В зависимости от того, как разработана страница, на ней либо отображаются все группы (обычно со скрытием входящих в них записей), либо ни одна конкретная группа не отображается до тех пор, пока не будет выбрана в списке доступных групп. Если на странице отображаются все группы, то можно отобразить все записи конкретной группы, щелкнув маркер ее развертывания. В нижней части каждой развернутой группы может находиться собственная панель перехода по записям. Редактировать данные на уровне группировки, имеющем поле группировки, невозможно.

Замечание

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

В режиме Конструктора можно задать необходимую группировку записей. Чтобы добавить уровень группировки, выделите элемент, к которому привязан источник данных (это может быть поле, связанный текст или другой элемент управления), и нажмите кнопку Повысить уровень (Promote) на панели инструментов Макет страницы (Page Design). В результате мы сгруппировали все данные из источника по значению этого элемента. Назовем его элементом группировки. Чтобы сгруппировать данные не по одному полю, а по всем полям из таблицы, которая его содержит, нажмите кнопку Группировать по таблицам (Group by Table). Чтобы убрать группировку или соединить два раздела группировки в один, выделите элемент группировки (поле или какой-либо другой элемент) и нажмите кнопку Понизить уровень (Demote).

На панели инструментов Панель элементов (Toolbox) присутствует кнопка Развернуть (Expand), позволяющая добавить на страницу элемент управления в виде кнопки с изображением плюса или минуса, который называется маркером развертывания/свертывания группы. С помощью этого элемента можно развернуть или свернуть список элементов одной группы.

При добавлении на страницу нового уровня группировки появляется новый раздел, который называется заголовком группы. Автоматически туда помещаются элемент группировки и маркер развертывания. Выделить этот раздел можно щелчком мыши по его заголовку. Выделив раздел, можно изменить его размеры с помощью мыши или настроить свойства группы. Открыть окно свойств уровня группы (рис. 12.32) можно, щелкнув по заголовку группы правой кнопкой и выбрав в контекстном меню команду Свойства уровня группы (Group Level Properties). В этом же контекстном меню отображаются команды, позволяющие отобразить или скрыть тот или иной раздел группы. Если снять флажок Верхний колонтитул (Header), будут удалены основной раздел (заголовок группы) и все связанные с ним разделы.

Рассмотрим изменение свойств группировки на примере страницы "Продажи по сотрудникам и странам", описанной в разд. "Создание автостраниц с помощью Мастера страниц доступа к данным" этой главы. Прежде всего исправим недостатки, полученные вследствие ее автоматического создания (проведенного в целях демонстрации):

  1. Удалите со страницы имеющиеся уровни группировки.
  2. В целях повышения быстродействия страницы удалите все текстовые поля и добавьте вместо них элементы типа Связанный текст (Bound Span) с помощью соответствующей кнопки на панели инструментов Панель элементов.
  3. Отредактируйте надписи новых элементов.
  4. Привяжите к этим элементам необходимые поля из источника данных, открыв окно свойств и задав значение свойства ControlSource (Источник данных), щелкнув по соответствующему полю в окне свойств (см, следующий раздел) и выбрав в раскрывающемся списке доступных полей необходимое.
  5. Сгруппируйте записи по названиям стран, а затем по фамилиям сотрудников, добавив два таких уровня группировки с помощью кнопки Повысить уровень.

Чтобы настроить параметры групп:

  1. Откройте окно свойств уровня группы (см. рис. 12.32).
  2. В появившемся окне свойств отображаются значения свойств выделенного уровня группировки. Задайте свойства каждого из уровней группировки страницы в соответствии с табл. 12.5.
  3. Закройте окно свойств уровня группы.
  4. Перенесите надписи с подписями к полям в раздел подписей. Расположите надписи в одну линию в разделе подписей, а поля — в одну линию в разделе заголовка группы так, чтобы каждое поле находилось под своей подписью.
  5. Уменьшите высоту разделов подписей и данных.

Диалоговое окно Levеl для уровня группировки

Рис. 12.32. Диалоговое окно Levеl для уровня группировки

Свойство\ Группа Страна Сотрудники Данные
CaptionSection (Раздел подписей) Ложь (False) Ложь (False) Истина (True)
GroupHeader (Заголовок группы) Истина Истина Истина
GroupFooter (Примечание группы) Ложь Ложь Ложь
RecordNavigationSection (Раздел кнопок перехода) Истина Истина Истина
ExpandedByDefault (Развернуто по умолчанию) Истина Истина Ложь
DataPageSize (Размер страницы доступа) 1 5 5
GroupOn (Группировка) По полному значению (dscEachValue) По полному значению (dscEachValue) 
Grouplnterval (Интервал) 1 1 
DefaultSort (Сортировка по умолчанию) [<имя элемента группировки>] [<имя элемента группировки>] [ДатаИсполнения] АЭС, [Промежуточная Сумма] DESC

Таблица 12.5. Параметры разделов группировки страницы "Продажи по сотрудникам и странам"

Выполнив эти действия, в качестве завершающего штриха мы применили к странице тему Закругление (Radial) для ее оформления. То, что у нас получилось, представлено на рис. 12.33 [ К сожалению, на этом рисунке не видно фонового узора, но он присутствует, и обладатели компакт-диска могут в этом убедиться. ] (см. разд. "Оформление страницы доступа к данным" в этой главе).

Страница Продажи по сотрудникам и странам в режиме Просмотра

Рис. 12.33. Страница Продажи по сотрудникам и странам в режиме Просмотра

Сравните это с тем, что было показано на рис. 12.22.