- •Лабораторная работа n 1 система управления базой данных access. Начало работы
- •Введение
- •Начало работы: создание таблицы в базе данных
- •Режим таблицы
- •Типы и свойства полей
- •Мастер таблиц
- •Импорт таблиц
- •Связь с таблицами
- •Задание
- •Контрольные вопросы
- •Лабораторная работа n 2 работа с таблицами
- •Введение
- •Режим замены
- •Режим вставки
- •Операции поиска
- •Фильтрация данных в таблице
- •Поиск и замена
- •Удаление данных
- •Изменение структуры таблицы
- •Задание
- •Контрольные вопросы
- •Лабораторная работа n 3 изменение образа таблицы
- •Вводные замечания
- •Установка параметров шрифта
- •Параметры ячеек
- •Изменение расположения строк/колонок
- •Внимание!
- •Изменение типа поля
- •Отображение полей
- •Задание
- •Контрольные вопросы
- •Лабораторная работа n 4 главное меню access
- •Меню Правка
- •Задание
- •Контрольные вопросы
- •Лабораторная работа n 5 создание запросов
- •Общие сведения
- •Сортировка данных в запросе
- •Применение специальных критериев
- •Вычисления в запросе
- •Внимание!
- •Поле Продавец Объем операции Номер записи
- •Поле Продавец Объем операций Номер записи
- •Запросы к нескольким таблицам
- •Запрос на добавление
- •Запрос на удаление
- •Запрос на обновление
- •Запрос на создание таблицы
- •Индикация результатов выполнения запросов
- •Параметрические запросы
- •Задание
- •Контрольные вопросы
- •Лабораторная работа n 6 создание форм
- •Вводные замечания
- •Создание форм с помощью мастера
- •Перемещение и редактирование полей формы
- •Фильтрация данных в форме
- •Обычный фильтр
- •Фильтр по выделенному
- •Расширенный фильтр
- •Форма ленточного типа
- •Создание диаграмм
- •Составные и связанные формы
- •Применение элементов управления в формах
- •Мастер кнопок
- •Списки в формах
- •Размещение в форме графического объекта
- •Задание
- •Контрольные вопросы
- •Лабораторная работа n 7 отчеты в access
- •Вводные замечания
- •Автоотчеты
- •Конструктор отчетов
- •Мастер диаграмм
- •Мастер отчетов
- •Вычисления в отчете
- •Печать отчета
- •Предварительный просмотр
- •Опции печати
- •Задание
- •Создание меню и панелей инструментов
- •Создание панели инструментов для всех баз данных
- •Создание панели инструментов для отдельной базы данных
- •Создание специальной строки меню
- •Создание и удаление контекстного меню
- •Задание
- •Контрольные вопросы
- •Лабораторная работа n 9 макросы в access. Первое знакомство
- •Вводные замечания
- •Создание макросов
- •Кнопка, запускающая макрос
- •Макрокоманды для работы с данными
- •Макрокоманды для управления Access
- •Макрокоманды для решения задач программирования
- •Редактирование макросов
- •Задание
- •Контрольные вопросы
- •Лабораторная работа n 10
- •Отладка макросов, макрогруппы,
- •Связь с меню
- •Цель работы: Освоить процедуры отладки макросов, создания макрогрупп, создания макросов, связанных с меню.
- •Отладка макроса
- •Применение пошагового режима
- •Объединение макросов в макрогруппу
- •Связывание макросов с командами меню
- •Связывание макросов с событиями
- •События, связанные с клавиатурой и мышью
- •Связывание с событиями
- •Задание
- •Контрольные вопросы
- •Лабораторная работа n 11
- •Макросы с условием. Представление объектов. Установка имен и значений
- •Цель работы: Изучить методику создания макросов с условием, управление представлением объектов из макроса, указание имен объектов, установку значений.
- •Выполнение макроса с условием
- •Управление представлением объектов из макроса
- •Указание имен объектов
- •Установка значений
- •Задание
- •Контрольные вопросы
- •Лабораторная работа n 12 работа с приложениями и программами. Оформление меню
- •Вызов приложений и управление ими
- •Запуск прикладных программ с параметрами
- •Управление прикладными программами из access
- •Автоматизация вывода на печать
- •Оформление собственной строки меню
- •Задание
- •Контрольные вопросы
- •Цитированная литература
- •Содержание
Типы и свойства полей
Текстовый формат
Вкладка Общие со свойствами текстовых полей имеет ряд строк. Размер поля может находиться в пределах от 1 до 255 символов. Слишком короткое поле неприятно тем, что данные в нем могут не уместиться. Чересчур длинное поле приводит к нерациональному использованию памяти. Размер поля можно изменять «по ходу дела», но при его уменьшении возможна потеря (усечение) данных. Правда, Ассеss предупреждает об этом пользователя перед выполнением операции.
Формат поля используется в формах и запросах. Существует набор специальных символов формата, которые жестко задают вид и размер вводимых строк. Кодовые символы формата текстовых полей представлены ниже:
@ — должен быть текстовый символ или пробел,
& — текстовый символ,
< — преобразование символов в нижний регистр,
> — преобразование символов в верхний регистр.
Формат поля может состоять из двух частей, разделенных знаком «точка с запятой». Первая часть является собственно форматом ввода, вторая — определяет значение поля, если данные в него не были введены.
Маска ввода также представляет собой последовательность кодовых символов. Их не так уж много:
0 — должна быть цифра от 0 до 9,
9 — цифра или пробел,
# — цифра, пробел, плюс или минус,
L — должна быть буква (А...Z, А...Я),
? — может быть буква,
А — должна быть буква или цифра,
а — может быть буква или цифра,
& — должен быть любой символ или пробел,
С — произвольный символ,
.,:;-/ — разделители, которые сохраняют свой вид в строке данных,
< — преобразование символов в нижний регистр,
> — преобразование символов в верхний регистр,
! — маска должна заполняться справа налево,
\ — следующий за этой обратной косой чертой символ будет введен как литерал.
Кодовые символы 0, А, L, & предполагают обязательный ввод данных в поле. Поскольку некоторые виды данных (даты, время, телефонные номера) содержат стандартные разделители, то для упрощения ввода предусмотрено, что некоторые общепринятые символы-разделители воспринимаются в маске ввода «буквально», т. е. записываются в поле наряду с введенными данными. Кроме этого, для определения символьных констант, состоящих из нескольких символов, допускается использовать двойные кавычки. В отличие от символов формата, символы маски ввода являются общими для всех типов полей, в которых разрешено применение маски.
В качестве примера напишем маску для ввода в базу данных номера паспорта. Он, как известно, содержит буквенную и числовую части, каждая из которых имеет фиксированную длину и является обязательной: L??-LL №000000.
Подпись — это второй (первый — имя) идентификатор поля, который используется программой вместо имени поля при работе с данными в табличной форме для создания заголовка столбца. Следует отметить, что наличие подписи в некоторых случаях может затруднять работу. Поэтому разумно использовать только имя поля до тех пор, пока это возможно, а в случае крайней необходимости - создать подпись.
Свойство «значение по умолчанию» говорит само за себя. Если при вводе данных часто повторяется одно и то же значение (в данном случае текстовая строка), то целесообразно «попросить» программу автоматически подставлять заданное значение во все вновь создаваемые поля. Пользователь же в процессе работы решает, оставить поле как есть или изменить данные. Это может сэкономить время при вводе, но может быть и причиной дополнительных ошибок, если оператор забудет стереть ненужные значения поля. Для формулировки значения по умолчанию можно использовать процедуру Построитель выражений. Она вызывается нажатием кнопки, которая появляется после щелчка в строке «Значение по умолчанию».
Свойство «условие на значение» позволяет создать фильтр, который не разрешит вводить в данное поле, что попало, а позволит использовать только те значения, которые удовлетворяют определенному условию. Для задания такого критерия можно запустить Построитель выражений. Если же пользователь БД нарушит условие ввода, то программа сообщит ему об этом, выведя на экран текст, определенный как свойство «сообщение об ошибке».
Свойство «обязательное поле» является логическим. Оно может принимать одно из двух значений: Да или Нет, которые выбираются из списка, связанного со строкой данного свойства. Да означает, что в поле обязательно должны быть введены данные.
Свойство «пустые строки» тоже логическое и похоже на предыдущее. Оно определяет, разрешены, или нет в данном поле пустые строки. Для Ассеss существуют два разных понятия: «поле, в которое ничего не было введено» и «поле с пустой строкой, т. е. содержащее пробелы».
Свойство «индексированное поле» может иметь одно из трех значений: поле не индексировано; поле индексировано, но допускаются повторяющиеся значения; поле индексировано, и повторения значений поля запрещены.
При конструировании базы данных нет необходимости задавать все свойства полей. Более того, их не надо определять до тех пор, пока в этом не возникнет настоятельная необходимость. Но чтобы полностью использовать потенциал Ассеss, при работе с программой необходимо держать «в уме» возможность применения того или иного свойства.
Числовой формат
При работе с полями разных типов вкладка свойств Общие принимает соответствующий формат.
Числовые поля обладают, в основном, теми же свойствами, что и текстовые, но имеются и некоторые отличия.
Размер поля может принимать значения из следующего списка:
Байт — целые числа в пределах от 0 до 255,
Целое — целые числа от -32 768 до 32 767
Длинное целое — целые числа от -2 147 483 648 до 2 147 483 647
С плавающей точкой (4 байт) - числа в пределах от -3.402823Е38 до 3.402823Е38,
С плавающей точкой (8 байт) — числа в пределах от -1.79769313486232Е308 до 1.79769313486232Е308,
Код репликации — уникальный глобальный идентификатор (GUID) длиною 16 байт.
Формат поля может определяться следующими кодовыми символами:
. — точка используется в качестве десятичного разделителя,
, — запятая применяется как разделитель групп разрядов,
0 — вывод цифры (или нуля, если разряд незначащий),
# — вывод цифры,
$ — вывод знака доллара,
% — вывод числа в процентном формате,
Е или е — вывод числа в экспоненциальной форме (например, О.ООЕ+00).
При создании числового формата могут быть заданы четыре группы кодов. Первая для вывода положительных чисел, вторая - для отрицательных значений, третья — для представления нулевого значения и четвертая — для пустых полей. Группы разделяются знаком «точка с запятой».
Основой для определения числового формата может служить следующая конструкция: # ##0,00
В этом формате указано не только расположение обязательных и факультативных разрядов, но и отмечено, что в числе должно проводиться разделение групп разрядов пробелами. Так, например, число 123456,789 в этом формате выглядело бы следующим образом: 123 456,79.
В справочнике Ассеss указано, что точка является десятичным разделителем. На самом деле вид десятичного разделителя выбирается в Windows. Для того чтобы сделать это, или посмотреть, какой вид разделителя установлен на компьютере, необходимо раскрыть Панель управления, выбрать окно Свойства: Язык и стандарты, а в нем - вкладку Числа. По умолчанию в русской версии Windows в качестве разделителя используется запятая, поэтому она и показана в приведенных выше примерах.
Несмотря на то, что форматирование данных начинает действовать сразу же после его задания, нет гарантии, что число в таком формате может быть введено в таблицу. Например, числа с дробной частью используются только в том случае, когда размер поля -«с плавающей точкой». В противном случае дробная часть будет просто отброшена. В формате можно задавать и цвет выводимых символов. Допустим, надо представить значения температуры так, чтобы величины больше нуля были красного цвета, а меньше нуля — синего. В этом случае формат может быть таким:
#[Красный];-#[Синий];0[Зеленый];"Неизвестно"
Хотя в данном случае неважно, как будет представлено нулевое значение, необходимо все равно создать для него группу формата (в любом виде). Иначе ноль не будет выводиться на экран.
Как можно использовать последнюю, четвертую группу формата? Во-первых, можно создать фразу-напоминание (Введи число!), которая покажет, что в некоторой ячейке отсутствуют данные, которые на самом деле должны там быть. Во-вторых, используя четвертую группу формата, можно из числового поля сделать «как бы текстовое», т. е. позволить программе заполнять ячейку неким текстом при отсутствии числовых данных. Соответствующий пример был показан выше, в формате температуры.
Формат «дата/время»
По умолчанию Access не использует никакой формат, допуская наличие сразу нескольких форматов. В этом случае разнородные данные будут существовать вместе в одном поле. Если в дальнейшем для такого поля будет определен формат, то часть данных может быть представлена в искаженном виде. При этом сами данные не изменятся, но поменяется их вид на экране. Поэтому формат поля данного типа надо выбирать заранее. Остальные свойства у него такие же, как у текстового поля.
Денежный формат
По умолчанию денежный формат представляет собой числа, записанные с двумя знаками после запятой, с разделением групп разрядов и обозначением «р» в конце. Можно записать в строке Формат поля шаблон для своего формата. Допустим, необходимо вводить суммы в долларах. Тогда надо установить курсор на слово «Денежный» в указанной строке и заменить его шаблоном формата, например, таким: # ###$.
Этот формат предполагает, что сумма записана как целое число, с разделением групп из трех разрядов пробелами и знаком доллара в конце числа. Это один из вариантов, которых может быть множество. Остальные свойства не отличаются от описанных ранее.
Формат «счетчик»
Такие поля выполняют вполне определенную функцию — автоматическую идентификацию записей таблицы.
Поэтому свойств, которые можно было бы изменить, у такого поля немного. Во-первых, счетчик — это всегда число. Во-вторых, наращивание его значения происходит автоматически. Ассеss предлагает два варианта изменения счетчика: последовательный и случайный. Первый вариант удобен тем, что позволяет нумеровать записи. Назначение второго варианта не так очевидно. Его можно использовать, если надо создать систему кодирования записей в таблице, защищенную от неосторожных действий оператора. Если нумеровать записи последовательно (1,2,3, и т. д.), то опечатка при вводе может легко превратить один код в другой, и обнаружить такую ошибку будет трудно. Иначе обстоит дело, если коды выбираются случайным образом (например, 1193517479, 442230790, 1742918387, и т.д.). Поскольку случайные значения счетчика представляют собой много разрядные числа, то вероятность того, что один код будет введен вместо другого, меньше, чем в первом случае. Кроме того, имея список всех кодов, легко проверить сколь угодно большую таблицу на наличие опечаток. Остается добавить, что использовать этот прием можно, если заменить в дальнейшем тип «счетчик» на другой, потому что изменять данные в поле счетчика оператор не может.
Логический формат
Ячейка в поле логического типа может содержать только одно из двух значений: Да или Нет. Асееss предлагает еще два варианта названий логического типа: Истина/Ложь и Включено/Выключено. Вид формулировки можно выбрать из списка в строке Формат поля на вкладке свойств. Использование логических полей может быть самым различным, например, в анкетах или для создания элементов управления. Самым ценным качеством логических полей является способ их представления в таблице.
Вне зависимости от того, какой формат будет выбран, в таблице логическое поле будет представлено в виде набора флажков. Изображение галочки в квадрате соответствует логическому значению Да. Сброс флажка означает присвоение ячейке поля логического значения Нет. Использование флажков — это современный дизайнерский прием.
Гиперссылка
Использовать форматы для этого поля теоретически возможно, но на самом деле они не определены. В реальной задаче вероятнее всего необходимо, чтобы это поле допускало произвольный формат, поскольку ссылки на файлы могут быть самыми разными. Для создания гиперссылки надо выбрать команду из главного меню Вставка/Гиперссылка или команду из контекстного меню Гиперссылка/Изменить гиперссылку. Поиск адреса документа производится в диалоговом окне. В этом окне можно указать не только путь к документу, но и адрес объекта внутри файла. Доступ к данным осуществляется путем запуска приложения, позволяющего просмотреть указанный файл.
Поле МЕМО
Поля этого типа подобны текстовым, но могут содержать до 65535 символов. Вкладка свойств поля МЕМО такая, как у поля логического типа за исключением последней строки, где вместо строки Индексированное поле используется строка Пустые строки.
Такие поля могут выполнять разные функции. Во-первых, они обеспечивают совместимость с базами данных других СУБД, поддерживающих такие поля (например, «dВА5Е или FохРго). Это может оказаться важным при выполнении операций импорта или экспорта баз данных. Во-вторых, поле МЕМО может служить хранилищем текста. Но увидеть такой текст можно будет только в форме или отчете, если для поля МЕМО будет создан элемент управления «поле». Лучше всего создавать его при помощи Мастера. Область для вывода текста может иметь размеры, позволяющие увидеть сразу несколько строк, а если весь текст не уместится в границах элемента управления, то будет создана полоса вертикальной прокрутки.
Мастер подстановок
Последний элемент в списке типов полей — Мастер подстановок — не является названием типа, а представляет собой команду для запуска Мастера, позволяющего создать связь между таблицами. Для пояснения работы Мастера рассмотрим небольшой пример. Допустим, в базе данных имеются две таблицы, одна из которых (Таблица1) имеет три поля: два числовых и одно текстовое, а вторая таблица (Таблица2) имеет два числовых поля. В таблице1 поле Код1 ключевое. Содержимое таблиц показано на рис. 1. Для облегчения понимания существа дела в одну из них — Таблица1 — введены числа, начинающиеся с цифры 1, а в другую — Таблица2 — числа, начинающиеся с цифры 2. Имена полей также снабжены соответствующими цифрами. Задача: выполнить подстановку поля Текст1 из Таблица1 в Таблица2.
Таблица1
Код1 |
Числа1 |
Текст 1 |
10 |
115 |
Телевизоры |
11 |
116 |
Ведра |
12 |
117 |
Гвозди |
13 |
118 |
Кабель |
14 |
119 |
Обувь |
15 |
120 |
Магнитолы |
16 |
121 |
Мебель |
|
|
|
Таблица2
Код2 |
Числа2 |
20 |
221 |
21 |
222 |
22 |
223 |
23 |
224 |
24 |
225 |
25 |
226 |
Рис.1. Исходные данные для операции подстановки
В первую очередь необходимо создать новое поле в Таблице2, использовав конструктор, назвав его Подстановка. Как только из списка выбрана строка Мастер подстановки, этот Мастер активизируется.. На первом шаге только подтверждается, что для подстановки используется данные из другой таблицы, а не фиксированный список констант.
На втором шаге необходимо выбрать таблицу – источник данных. Необходимо подчеркнуть, что выполнить подстановку в пределах одной таблицы нельзя, то есть подстановка – межтабличная операция. На этом шаге можно указать, какие источники данных могут быть использованы для подстановки: таблицы, запросы или то и другое вместе. В рассматриваемом случае нужно выбрать Таблица1.
На третьем шаге необходимо выбрать список доступных полей выбранной таблицы. В данном случае это поле Текст1.
Четвертый шаг Мастера подстановок предоставляет пользователю возможность отрегулировать границы колонок выбранных полей. Сделать это можно обычным способом, при помощи мыши, или же дважды щелкнуть на границе заголовка таблицы для автоматического подбора ширины поля.
Несмотря на то, что в колонках присутствует мигающий курсор и имеется возможность выделять поля и записи, отредактировать данные в этот момент невозможно. Можно только изменять ширину колонок.
На пятом шаге Мастера подстановок можно задать подпись для столбца постановки. Программа первоначально использует в качестве нее имя поля подстановки, которое было задано при конструировании таблицы. Пользователь волен изменить подпись на другую, что, впрочем, можно будет сделать и впоследствии. Таким образом, последний шаг Мастера подстановок — скорее формальность, чем необходимость.
После окончания работы Мастера можно проанализировать его работу в окне конструктора таблицы. Итак, что сделал Мастер? Во-первых, он заменил имя поля подстановки, заданное пользователем первоначально, на имя ключевого поля (Код1) таблицы, являющейся источником данных. Разумеется, это не пустая формальность. Этот факт свидетельствует о том, что между двумя таблицами установлена связь. Во-вторых, новому полю таблицы Мастер подстановки присвоил числовой тип. Не надо думать, что так случилось потому, что в Таблица1 было выбрано числовое поле для подстановки. Числовой тип в данном случае относится к полю Таблица1.Числа1. В-третьих, старое имя поля подстановки Мастер использовал для создания подписи. Это значит, что при просмотре таблицы данное поле будет обозначаться своим старым именем, а не тем, которое стоит в графе Имя поля. Остальные свойства оставлены без изменения, но они доступны для редактирования.
Некоторые из свойств поля подстановки (например, Присоединенный столбец) носят справочный характер, и менять их не имеет смысла. Другие свойства могут быть изменены по желанию пользователя.
Если необходимо удалить поле подстановки, то нужно вначале ликвидировать связь между таблицами. Для этого командой Сервис/Схема данных вызывается графическое представление связи, щелкается по соединяющей линии, чтобы она стала жирной и выбирается команда Удалить из контекстного меню. После этого поле подстановки можно удалить в режиме конструктора.