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

Microsoft Office 2007 в экономике и управлении. Часть 2. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
ги для выбора другой таблицы или запроса и щелкните все дополни­тельные поля, которые требуется включить в форму.
Рис. 27. Создание формы с помощью мастера форм.
5. Создание формы при помощи инструмента «Пустая форма»
Если мастер или инструменты для создания форм не подходят, мож­но воспользоваться инструментом «Пустая форма», чтобы создать фор­му. Таким образом можно очень быстро построить форму, особенно если в ней будет лишь несколько полей.
На вкладке «Создание» в группе «Формы» щелкните «Пустая фор­ма» . В области «Список полей» щелкните знак плюс (+)
рядом с таблицей или таблицами, содержащими поля, которые нужно включить в форму. Чтобы добавить поле к форме, дважды щелкните его или перетащите его на форму. Чтобы добавить сразу несколько полей, щелкните их последовательно, удерживая нажатой клавишу CTRL.
Рис. 28. Создание формы с помощью инструмента «Пустая фор-
ма».
Пользуясь инструментами группы «Элементы управления» на вкладке «Форматирование», можно добавить в форму эмблему компа­нии, заголовок, номера страниц или дату и время.
61
Если нужно добавить к форме большое количество элементов управ­ления, переключитесь в режим конструктора, щелкнув форму правой кнопкой мыши и затем выбрав пункт «Конструктор». Затем можно вос­пользоваться инструментами в группе «Элементы управления» на вкладке «Конструктор».
4.1.2. Элементы управления
Элементами управления называются улучшающие интерфейс пользователя объекты, которые используются для отображения данных или выполнения других действий и позволяют просматривать данные и работать с ними, например надписи и рисунки. Наиболее часто исполь­зуемый элемент управления — поле. Кроме того, используются такие элементы управления, как надписи, флажки и элементы управления подчиненных форм и отчетов. Элементы управления могут быть присо­единенными, свободными и вычисляемыми.
Присоединенный элемент управления – элемент управления, ис­точником данных которого служит поле таблицы или запроса, называ­ется присоединенным элементом управления. Присоединенный элемент управления служит для отображения значений полей базы данных. Зна­чения могут быть текстовыми, числовыми, логическими, датами, ри­сунками или диаграммами. Например, для текстового поля в форме, в котором отображается фамилия служащего, могут использоваться дан­ные поля «Фамилия» в таблице «Служащие».
Свободные элементы управления элементы управления, не име- ющие источника данных (например, поля или выражения). Свободные элементы управления используются для вывода на экран сведений, ли­ний, прямоугольников и рисунков. Примером свободного элемента яв­ляется надпись, которая отображает заголовок формы.
Вычисляемые элементы управления – элементы управления, ис­точником данных которых является выражение, а не поле. Для задания значения, которое должно содержатся в таком элементе управления, необходимо задать выражение, служащее источником данных элемента. Выражение — это сочетание операторов (таких как = и +), имен других элементов управления, имен полей, функций, возвращающих един­ственное значение, и констант. Например, в следующем выражении це­на изделия рассчитывается с 25% скидкой путем умножения значения поля «Цена за единицу» на константу (0,75).
= [Цена за единицу] * 0,75
В выражении могут использоваться данные поля в базовой таблице или запросе формы или данные из другого элемента управления формы.
62
При создании формы рекомендуется сначала добавить и разместить все присоединенные элементы управления. Затем можно добавить оставшиеся свободные и вычисляемые элементы при помощи инстру­ментов группы «Элементы управления» вкладки «Конструктор» в ре­жиме конструктора.
Некоторые элементы управления создаются автоматически, напри­мер, присоединенный элемент управления, создаваемый при добавле­нии в форму поля из области «Список полей». В режиме конструктора можно создать другие элементы управления с помощью инструментов группы «Элементы управления» на вкладке «Конструктор».
Чтобы создать элемент управления, присоединенный к выбранному полю, перетащите поле из области «Список полей» в форму. В области «Список полей» отображены поля базовой таблицы или запроса. Для отображения области «Список полей» нажмите сочетание клавиш ALT+F8 или на вкладке «Конструктор» в группе «Сервис» нажмите кнопку «Добавить существующие поля». При двойном щелчке поля в области «Список полей» Access добавляет для этого поля элемент управления соответствующего типа в форму.
4.1.3. Режим макета и режим конструктора
Режим макета представляет собой наиболее наглядный режим для изменения форм. Его можно использовать для внесения практически любых изменений в форму в Office Access 2007. В режиме макета фор­ма фактически выполняется, поэтому можно просматривать данные по­чти в таком виде, в каком они отображаются в режиме формы. Но в этом же режиме можно изменять и структуру формы. Поскольку при внесении изменений можно просматривать данные, в этом режиме очень удобно задавать размеры элементов управления и выполнять дру­гие задачи, связанные с внешним видом и удобством формы.
Создав форму, можно легко доработать ее в режиме макета. Ориен­тируясь на фактические данные формы, можно изменить расположение элементов управления и подобрать их размеры. Можно добавить в форму новые элементы управления, а также задать свойства формы и входящих в нее элементов управления.
Чтобы переключиться в режим макета, щелкните правой кнопкой мыши имя формы в области переходов и выберите команду «Режим макета». Изменить свойства формы, ее разделов и входящих в нее эле­ментов управления можно с помощью окна свойств (клавиша F4). Из области «Список полей» можно добавить в макет формы поля базовой таблицы или базового запроса.
63
Режим конструктора позволяет более подробно просмотреть струк-
туру формы. Можно просматривать разделы колонтитулов и данных формы. В этом режиме форма не выполняется, поэтому при внесении изменений невозможно просматривать базовые данные. Перечислим основные задачи, которые выполнять в режиме конструктора:
1. Добавлять в форму различные элементы управления, такие как
надписи, рисунки, линии и прямоугольники.
2. Изменять источник элемента управления «Поле» непосредственно
в поле без использования окна свойств.
3. Изменять размеры разделов формы, таких как «Заголовок формы»
или «Область данных».
4. Изменять свойства формы, которые недоступны для изменения в
режиме макета (например, «Представление по умолчанию» или «Режим формы»).
Чтобы переключиться в режим конструктора, щелкните правой
кнопкой мыши имя формы в области переходов и выберите команду «Конструктор».
4.2. Работа с запросами
Вопросы для самопроверки
1. Что такое запрос, для чего он используется в базах данных?
2. Что такое запрос на выборку и как его создать в СУБД ACCESS
2007?
3. Как вычислить итоговое значение в запросе?
4. Что такое условие в запросе, как его добавить?
5. Какие виды условий существуют в СУБД ACCESS 2007 для полей
типа ?
6. Как создать параметрический запрос в СУБД ACCESS 2007?
Для поиска и отбора данных, удовлетворяющих определенным усло-
виям, создается запрос. Запросы позволяют также обновить или удалить одновременно несколько записей, выполнить встроенные или специ­альные вычисления. Существует несколько типов запросов, каждый из которых предназначен для определенной цели. Например, запрос на выборку служит для отображения данных или для создания новой таб­лицы. Запрос на изменение служит для изменения данных в источнике данных. При запуске запроса с параметрами требуется задать условия.
64
4.2.1. Создание запроса на выборку
Запрос на выборку — это объект базы данных, который служит для отображения данных в режиме таблицы. Запрос может получать данные из одной или нескольких таблиц, из существующих запросов или из комбинаций таблиц и запросов. Таблицы или запросы, используемые для получения данных, называются источниками записей.
Создание простых запросов на выборку при использовании мастера и при работе в режиме конструктора происходит одинаково. Для этого следует выбрать источник записей и поля, которые требуется включить в запрос. При необходимости можно задать условия для уточнения ре­зультатов запроса.
После создания запроса на выборку его следует выполнить (открыть его), чтобы получить результаты. Впоследствии запрос можно исполь­зовать повторно по мере необходимости, например в качестве источни­ка записей для формы, отчета или другого запроса.
4.2.2. Вычисление итоговых значений запроса
Вычисление итога для столбцов запроса в приложении Office Access 2007 упростилось по сравнению с предыдущими версиями. В новой версии можно добавлять, подсчитывать или рассчитывать другие стати­стические значения, а также отображать их в специальной строке «Итог», которая отображается под строкой со знаком звездочки (*) в режиме таблицы. Для каждого столбца можно использовать отдельную статистическую функцию. Можно также отменить вычисление итога для столбца. Чтобы очистить итоговое значение для столбца, щелкните строку Итог в этом столбце, а затем выберите из раскрывающегося списка значение Нет. Чтобы скрыть строку Итог, на вкладке «Главная» в группе «Тип данных и форматирование» снимите флажок «Итоги».
4.2.3. Создание запроса на основе нескольких таблиц
В некоторых случаях запрос, построенный на основе одной таблицы и предоставляющий необходимые сведения, может благодаря извлече­нию данных из другой таблицы стать более информативным и полез­ным. Предположим, имеется список кодов сотрудников, отображаемых в результатах запроса. Было бы более наглядно, если бы в этом списке были видны и имена сотрудников, но они находятся в другой таблице. Чтобы имена сотрудников отображались в результатах запроса, следует включить в запрос обе таблицы.
Убедитесь, что для таблиц задано отношение в окне схемы данных. На вкладке «Средства базы данных» в группе «Скрыть/Отобразить» выберите команду «Отношения». На вкладке «Конструктор» в группе
65
«Связи» щелкните «Все связи». Выберите таблицы, имеющие связь
Условие
Описание
>25 и <50
Это условие применимо к полю типа полю типа «Числовой», например, к полю «Цена» или «НаСкладе». При использовании этого условия в результаты запроса включаются только те записи, в которых поле «Цена» или «НаСкладе» содержит
значение больше 25 и меньше 50.
DateDiff
("yyyy", [Дата­Рождения],
Date()) > 30
Это условие применимо к полям типа «Да­та/Время», например, к полю «ДатаРождения». В результаты запроса включаются только те записи, в которых количество лет, прошедшее с даты рож-
дения сотрудника до текущей даты, превышает
30.
Is Null
Это условие можно применить к полю любого ти­па, чтобы отобразить записи с нулевым значением
поля.
между собой. Если таблицы отображаются в окне схемы данных, про­верьте, что отношение между ними уже установлено.
Если таблицы не отображаются в окне схемы данных, следует доба­вить их. На вкладке «Конструктор» в группе «Скрыть/Отобразить» вы­берите команду «Имена таблиц». Дважды щелкните каждую из таблиц, которые требуется отобразить. Если между таблицами не установлено отношение, создайте его, перетащив поле из одной таблицы на поле другой. Поля, по которым создается отношение между таблицами, должны иметь одинаковый тип данных. Далее запрос строится на осно­ве выбранных таблиц.
4.2.4. Общие сведения об условиях запроса
Условие аналогично формуле: это строка, которая может включать ссылки на поля, операторы и константы. В Microsoft Office Access 2007 условия называются также выражениями.
В приведенной таблице содержатся примеры условий и описание принципов их действия.
Условия могут быть различными в зависимости от типа данных поля и требований пользователя. В простых условиях используются базовые операторы и константы. В сложных — функции, специальные операто­ры и ссылки на поля.
Чтобы добавить в запрос условие, необходимо открыть запрос в ре­жиме конструктора. Затем следует определить поля, на которые распро-
66
страняется данное условие. Если в бланке запроса отсутствует нужное
Записи
Условие
Результат запроса
Точно соответствуют определенному зна­чению, например, «Китай»
"Китай"
Записи, в которых поле «Страна» содержит значение «Китай».
Не соответствуют определенному зна-
Not "Мекси­ка"
Записи, в которых значением поля «Страна» не является
поле, его можно добавить самостоятельно, перетащив его из окна кон­структора запросов или дважды щелкнув его (при двойном щелчке поле автоматически добавляется в следующий пустой столбец сетки полей). Далее следует ввести тип условия в строке «Условия».
Условия, заданные для различных полей в строке «Условия», объеди­няются с помощью оператора AND. Например, условия, заданные в полях «Город» и «ДатаРождения», интерпретируются следующим образом: Го­род = "Москва" AND ДатаРождения < DateAdd("yyyy", -40, Date()) (этому условию будут удовлетворять только те записи, в которых поле «Город» принимает значение «Москва» и возраст человека составляет не менее 40 лет).
Если при наличии взаимоисключающих условий или двух наборов независимых условий требуется, чтобы выполнялось лишь одно усло­вие или набор условий, в бланке запроса следует использовать строки Условия и или. Условия, заданные в строках Условия и или, объединя­ются с помощью оператора OR, как показано в примере:
Город = "Москва" OR ДатаРождения < DateAdd("yyyy", -40, Date())
Если нужно задать несколько условий, следует использовать строки, расположенные под строкой или.
Замечания:
1. Если условие является временным или часто меняется, можно не
изменять его, а фильтровать результаты запроса. Фильтр — это времен­ное условие, которое позволяет изменить результаты запроса без изме­нения его структуры.
2. Если поля для условия не меняются, но при этом часто ме-
няются нужные значения, можно создать запрос с параметрами. В та­ком запросе пользователю предлагается ввести значения поля, которые затем используются для создания условия запроса.
Условия для полей с типами данных «Текстовый», «Поле MEMO» и «Гиперссылка»
67
чению, например, «Мексика»
«Мексика».
Начинаются с задан­ной строки символов, например «С»
Like С*
Записи, в которых название страны начинается с буквы «С», например, Словакия, США и т.д. Используемая в выражении звездочка (*) является подста- новочным знаком и заменяет любые данные.
Не начинаются с за­данной строки симво­лов, например «С»
Not Like С*
Записи, в которых названия стран не начинаются с буквы «С».
Содержат заданную строку, например «Корея»
Like
"*Корея*"
Записи с названиями стран, которые содержат слово «Ко­рея».
Не содержат задан­ную строку, например «Корея»
Not Like
"*Корея*"
Записи с названиями стран, которые не содержат слово «Корея».
Заканчиваются задан­ной строкой, напри­мер «ина»
Like "*ина"
Записи, в которых названия стран заканчиваются на «ина», например «Украина» или «Аргентина».
Не заканчиваются заданной строкой, например «ина»
Not Like
"*ина"
Записи, в которых названия стран не заканчиваются на «ина», например «Украина» или «Аргентина».
Содержат пустые значения (значение отсутствует)
Is Null
Записи, в которых данное по­ле не содержит значения.
Не содержат пустых значений
Is Not Null
Записи, в которых данное по­ле содержит ненулевое значе­ние.
Содержат пустую строку
"" (прямые кавычки)
Записи, в которых поле имеет пустое (но не нулевое) значе­ние. Например, записи о про­дажах для другого отдела мо­гут содержать пустое значе­ние в поле «Страна».
68
Не содержат пустую строку
Not ""
Записи, в которых поле имеет непустое значение.
Содержит нулевые или пустые значения
"" Or Is Null
Записи, в которых значение в поле отсутствует или пусто.
Ненулевые и непу­стые
Is Not Null And Not ""
Записи, в которых поле «Страна» имеет непустое и ненулевое значение.
При сортировке в ал­фавитном порядке следуют за опреде­ленным значением, например «Мексика»
>= "Мекси­ка"
Записи для всех стран, начи­ная с Мексики и вплоть до конца алфавита.
Входят в определен­ный диапазон, напри­мер от А до Г
Like "[А­Г]*"
Записи, в которых название страны начинается с одной из букв от «А» до «Г».
Содержат одно из значений, указанных в списке
In("Франция ", "Китай", "Германия", "Япония")
Записи для всех стран, упо­мянутых в списке.
Условия для полей типа «Числовой», «Денежный» и «Счетчик»
Записи
Условие
Результат запроса
Точно соответствуют определенному зна­чению, например 100
100
Записи, в которых цена едини­цы продукта составляет 100 рублей.
Не соответствуют значению, например,
1000
Not 1000
Записи, в которых цена едини­цы продукта не равна 1000 руб­лей.
Содержат значение, которое меньше за­данного, например
100
< 100 <= 100
Записи, в которых указана цена единицы меньше 100 рублей (<100). Второе выражение (<=100) позволяет отобразить записи, в которых цена едини­цы меньше либо равна 100.
Содержат значение, которое больше за­данного, например
99,99
>99,99 >=99,99
Записи, в которых указана цена единицы больше 99,99 рублей (<99,99). Второе выражение позволяет отобразить записи, в которых цена единицы больше
69
либо равна 99,99.
Содержат одно из двух значений, например 20 или 25
20 or 25
Записи, в которых цена едини­цы равна 20 или 25 рублям.
Содержат значение, которое входит в определенный диа­пазон
>49.99 and <99.99 ­или­Between 50 and 100
Записи, в которых указана цена единицы в диапазоне между 49,99 и 99,99 рублей (сами эти значения не включаются в ре­зультаты).
Содержат значение, которое не входит в определенный диа­пазон
<50 or >100
Записи, в которых цена едини­цы не входит в диапазон от 50 до 100 рублей.
Содержит одно из заданных значений
In(20, 25,
30)
Записи, в которых цена едини­цы равна 20, 25 или 30 рублям.
Содержат значение, которое заканчивает­ся на заданные циф­ры
Like "*4,99"
Записи, в которых цена едини­цы заканчивается на цифры 4,99, например 4,99, 14,99, 24,99 рублей Используемые в выражении знаки * и % являются подста­новочными и заменяют любое количество знаков. Знак % нельзя использовать в одном выражении со знаком * или в одном выражении с подстано­вочным знаком ?.
Условия для полей с типом данных «Дата/Время»
Записи
Условие
Результат запроса
Точно соответству­ют определенному значению, например
02.02.2006
#02.02.2006#
Записи об операциях, совер­шенных 2 февраля 2006 г. Значения даты должны быть окружены знаками #, чтобы Access мог отличить значения даты от текстовых строк.
Не соответствуют определенному зна­чению
Not #02.02.2006#
Записи об операциях, совер­шенных в любой день, кроме 2 февраля 2006 г.
70