Файл: Освой самостоятельно программирование для MS Access 2002 за 24 часа [П.Киммел].pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2020

Просмотров: 7874

Скачиваний: 25

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Погрузиться в таинства программирования на HTML вы сможете,

ознакомившись со специальной литературой и изучив код, написанный

вашими коллегами либо сгенерированный при помощи мастеров соз-

дания страниц доступа к данным.

Расширенные возможности проектирования

Web-страниц

Ранее уже говорилось о том, что индустрия программирования для Web сегодня

развивается самыми быстрыми темпами. Сайты, созданные с применением новейших

технологических достижений, помимо HTML, в большом количестве содержат также

блоки программного кода других видов. Сайты, решающие задачи электронной ком-

мерции, позволяют совершать покупки, осуществлять поисковые операции, отправ-

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

применение специальных средств.

Microsoft разработала стандарт под названием Active Server Pages (ASP). Web-

страницы, созданные на его основе, могут содержать код, написанный на языках

VBScript и JavaScript. Последний находит применение и при создании обычных стра-

ниц HTML. Сайты, обладающие расширенными возможностями, предполагают вы-

полнение на Web-сервере дополнительных программ — речь идет о таких серверах,

как, скажем,

 NSAPI и CGI.

Если вас привлекают задачи электронной коммерции, обратитесь к услугам про-

фессионального разработчика или как минимум приобретите несколько специализи-

рованных изданий, посвященных технологиям построения и администрирования

Web-серверов, а также

 проблемы обеспечения безопасного доступа к ре-

сурсам Internet и программирования в стандартах HTML и ASP. Подобные вопросы

выходят за рамки предмета нашего обсуждения.

Создание демонстрационной базы

данных

Задача создания корпоративной базы данных возникнет перед вами даже в том

случае, если речь идет о компании скромных размеров. Если вам приходится пользо-

ваться внутренним телефонным справочником фирмы, который хранится на традици-

онных бумажных носителях, то на поддержание его в активном состоянии придется

тратить немалые усилия и средства. Если же разместить справочник в виде таблицы

данных, доступной на узле intranet, многие проблемы просто исчезнут, и задача адми-

нистрирования сведется к выполнению ряда простых операций.

С любыми информационными потоками, действующими в среде не-

большой компании, справиться гораздо легче при наличии сайтов intranet.

Здесь могут публиковаться штатные расписания,

стандарты и требования, технические бюллетени и другие самые разно-

образные материалы, которые представляют интерес для широкого круга

сотрудников.

Поскольку правильность сказанного не поддается сомнению, в ходе дальнейшего

изложения будут приведены примеры использования простой корпоративной базы

данных, содержащей сведения о структуре компании.

360 Часть VII. Проектирование интерфейса пользователя


background image

Новый термин

Схема —

 обобщенный термин, применяемый для обозначения различных

совокупностей объектов, из которых состоит база данных — таблиц, по-

лей, индексов, запросов, хранимых процедур и т.п.

Представим себе вымышленную компанию, именуемую

 которая занимается

разработкой специализированного программного обеспечения. База данных, содер-
жащая сведения о структуре и персонале eSoft, состоит из трех таблиц — DEPARTMENT,
EMPLOYEE и ROLES. Схема базы данных компании приведена в табл.

 20.2 и 20.3.

Таблица

 Структура таблицы DEPARTMENT, содержащей данные о подразделениях

компании

Название поля

Тип

Размер

Индекс

NAME

Text

Первичный

50

Таблица 20.2. Структура таблицы ROLES, в которой находится информация

о номенклатуре должностей компании

Название поля

Тип

Размер

Индекс

NAME

DESCRIPTION

AutoNumber

Text

Text

20

50

Первичный ключ

Таблица 20.3. Структура таблицы EMPLOYEE, содержащей данные о служащих

компании

Название поля

Тип

Размер

Индекс

SSN

DEPARTMENTJD

EXTENSION

ROLEJD

AutoNumber

Text

Text

Text

Number

Text

Text

Number

20

20

11

14

6

Первичный ключ

Внешний ключ

Внешний ключ

Основную роль в схеме играет таблица EMPLOYEE. Между таблицами EMPLOYEE и

DEPARTMENT установлена связь типа

 т.е. для каждой записи DEPARTMENT

(подразделения компании) может существовать несколько записей EMPLOYEE (служащих).

Аналогичная связь (рис. 20.2.) задана и между таблицами EMPLOYEE и ROLES: каждый слу-
жащий занимает определенную должность, причем (естественно) допускается ситуация,

когда у нескольких служащих должности совпадают.

20-й час. Как связывать

 с базами данных

361


background image

NAME

.

 2.

 Связи между таблицами базы данных

Чтобы наш последующий разговор приобрел более предметные очертания, вам не-

обходимо создать базу данных Access (далее мы будем называть ее

 t) и построить

в ней таблицы в соответствии со схемой, приведенной выше. Затем вы узнаете, как с
помощью мастера создать страницу доступа к данным.

Создание Web-страниц с помощью
мастеров

Решение проблем, легко поддающихся формализации, может быть автоматизиро-

вано — этот тезис сомнений

 вызывает. Если в такую категорию попадают задачи

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

Как и во многих других случаях, при построении страниц доступа к данным на

помощь приходят вездесущие мастера Access 2002. Чтобы ознакомиться с их переч-
нем, откройте недавно построенную базу данных

 t, выберите в списке Объекты

(Objects) элемент Страницы (Pages) и щелкните на кнопке Создать (New) панели ин-
струментов. Откроется диалоговое окно Новая страница доступа к данным (New Data

Access Page), в котором представлены следующие режимы работы: Конструктор (Design
View), Существующая Web-страница (Existing Web page), Мастер страниц (Page Wizard)
и Автостраница: в столбец (Autopage: Columnar) (рис. 20.3).

В режиме Конструктор открывается чистая страница. Теперь всю работу придется

выполнить самостоятельно — это гораздо сложнее, нежели отредактировать страницу,
сформированную мастером. При выборе опции Существующая Web-страница откры-
вается диалоговое окно Поиск Web-страницы (Locare Web Page), позволяющее найти и
открыть одну из ранее созданных страниц. Имейте в виду, что Web-страницы сохра-
няются вне базы данных — Access запоминает лишь ссылки на их физические адреса.

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

страницы. Для его применения достаточно выбрать источник данных (таблицу или
запрос) и щелкнуть на кнопке ОК. Режим Мастер страниц предлагает компромиссный
вариант действий, обеспечивающий простоту использования и разнообразие возмож-
ностей (в дальнейшем внимание будет сконцентрировано именно на нем).

362

Часть VII. Проектирование интерфейса пользователя


background image

i

i

 • :

 к ' ;

.

 с полями, . - i

 s один j

 i

 качестве

 запрос

Конструктор

 Г .

s

 Диалоговое окно Новая

страница доступа к данным предлага-
ет на выбор несколько инструменталь-

ных средств

Чтобы продемонстрировать способы практического применения мастера страниц,

мы построим запрос, объединяющий информацию из всех таблиц базы данных

eSoft

 —

 И ROLES.

Выбор данных из нескольких таблиц

Запрос, который мы создадим, должен связать все три таблицы — EMPLOYEE,

DEPARTMENT и ROLES, чтобы вместо скупых идентификаторов (содержимого полей
DEPARTMENT_ID и ROLE_ID) пользователи видели наименования должности каждого
сотрудника и подразделения компании, в котором тот

Ключевые поля, DEPARTMENT_ID,

 и

 которые

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

Создайте запрос, текст которого приведен ниже, в листинге 20.2, и сохраните его

ПОД именем

 QUERY EMPLOYEE PHONELIST BY DEPARTMENT.

Листинг 20.2. Пример запроса, объединяющего данные из нескольких таблиц

SELECT

FROM ROLE RIGHT JOIN (DEPARTMENT RIGHT JOIN EMPLOYEE ON

 =

 ON

j Запрос возвратит данные следующих полей таблиц: DEPARTMENT.

DEPARTMENT_ID,

 И

Поскольку в команде SELECT используются конструкции объединения таб-

лиц (операторы JOIN), запрос допускает только чтение данных — это, собст-

венно, то, что нам нужно.

20-й час. Как связывать Web-страницы с базами данных

363


background image

Работа с мастером страниц

Чтобы построить страницу доступа к данным с помощью мастера на основе соз-

данного ранее запроса, выполните следующие действия.

1. Открыв базу данных eSoft, выберите в списке Объекты элемент Страницы и

щелкните на кнопке Создать панели инструментов.

2. В диалоговом окне Новая страница доступа к данным выберите опцию Мастер

страниц и в качестве источника данных укажите запрос

3. Щелкните на кнопке ОК.
4. В первом диалоговом окне Мастер страниц перенесите из списка Доступные поля

(Available Fields) в список Выбранные поля (Selected Fields) все поля запроса, за ис-
ключением

5. Щелкните на кнопке Далее (Next).
6. Второе диалоговое окно мастера дает возможность добавления уровней группиров-

ки. Выполните все необходимое и щелкните на кнопке

7. Третье диалоговое окно предлагает указать критерии сортировки набора данных.

Выберите наименование поля

 Щелкните на кнопке Далее.

8. В четвертом диалоговом окне мастера можно указать таблицы, которые позволено

обновлять пользователю. Поскольку страница основана на запросе, допускающем
только чтение данных, страница доступа к базе данных должна оставаться тоже в
режиме "только для чтения". Щелкните на кнопке Далее.

9. В последнем диалоговом окне мастера измените название создаваемой страницы

Сотрудники компании.

 Щелкните на кнопке Готово (Finish).

fi

 -

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

364

Часть VII. Проектирование интерфейса пользователя