Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МИИТ_пособие_информатика_основы_програмир.doc
Скачиваний:
31
Добавлен:
09.06.2015
Размер:
5.01 Mб
Скачать

3. Создание таблицы с помощью Конструктора таблиц.

В режиме Конструктора таблицы создаются путем задания имен полей, их типов и свойств. Чтобы создать таблицу в режиме Конструктора, необходимо выбрать Создание таблиц в режиме конструктора. При этом открывается пустое окно Конструктора таблиц (рис. 3.25). В столбец Имя поля надо ввести имена полей создаваемой таблицы. В столбце Тип данных для каждого поля таблицы выбрать из раскрывающегося списка тип данных, которые будут содержаться в этом поле. В столбце Описание можно ввести описание данного поля (не обязательно).

В нижней части окна Конструктора таблиц на вкладках Общие и Подстановка ввести свойства каждого поля или оставить значения свойств, установленные по умолчанию. После описания всех полей будущей таблицы нажать кнопку Закрыть (в верхнем правом углу окна таблицы) и на вопрос «Сохранить изменения макета или структуры таблицы <имя таблицы>?» нажать кнопку Да. В появившемся окне Сохранить как в поле Имя таблицы ввести имя создаваемой таблицы и нажать кнопку ОК. В ответ на. сообщение «Ключевые поля не заданы» и вопрос «Создать ключевое поле сейчас?» нажмите кнопку Да, если ключевое поле необходимо, или кнопку Нет если такого не требуется. После указанных действий в списке таблиц в окне базы данных появятся имя и значок новой таблицы. Ввести данные в созданную таблицу можно, открыв таблицу в режиме Таблицы.

Имена полей таблицы должны удовлетворять следующим требованиям:

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

  • имена полей могут содержать не более 64 символов, включая пробелы.

  • желательно избегать употребления имен полей, совпадающих с именами встроенных функций или свойств Microsoft Access (например, Name — имя).

  • имя поля не должно начинаться с пробела или управляющего символа (коды ASCII 00-31).

  • имена полей могут содержать любые символы, включая буквы, цифры, пробелы, специальные символы, за исключением точки (.), восклицательного знака (!), апострофа (') и квадратных скобок ([, ]).

  • эти же правила действительны для имен таблиц и других объектов Microsoft Access.

Рис. 3.25. Окно новой таблицы в режиме Конструктора

Тип данных.

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

1)Текстовый — символьные или числовые данные, не требующие вычислений. Поле данного типа может содержать до 255 символов. Размер текстового поля задается с помощью свойства Размер поля, в котором указывается максимальное количество символов, которые могут быть введены в данное поле. При необходимости ввести строку большего размера, чем указано в данном свойстве, надо значение свойства изменить, т. к. место под дополнительные символы не резервируется. Независимо от длины текстового поля оно хранится в базе данных Access в записи переменной длины. Access не занимает память под неиспользуемую часть текстового поля в записи, что уменьшает общий размер базы данных.

2) Поле типа MEMO предназначено для ввода текстовой информации, по объему превышающей 255 символов. Такое поле может содержать до 65 535 символов. Этот тип данных отличается от типа Текстовый тем, что в таблице хранятся не сами данные, а ссылки на блоки данных, хранящиеся отдельно. За счет этого ускоряется обработка таблиц (сортировка, поиск и т. п.). Поле типа MEMO не может быть ключевым или проиндексированным.

3) Числовой тип применяется для хранения числовых данных, используемых в математических расчетах. От выбора подтипа (размера) данных числового типа зависит точность вычислений. Для установки подтипа числовых данных служит свойство Размер поля. Данные этого типа могут занимать 1, 2, 4, 8 или 16 байт памяти. Обычно по умолчанию используется подтип Длинное целое, который занимает 4 байта и представляет собой число в пределах от -2 147 483 648 до +2 147 483 647.

4) Дата/Время — тип для представления даты и времени. Позволяет вводить даты с 100 по 9999 год. Размер поля - 8 байт. Даты и время хранятся в специальном фиксированном числовом формате. Дата является целой частью значения поля типа Дата/Время, а время — его дробной частью. Access предоставляет большой выбор форматов отображения даты и времени.

5) Денежный — тип данных, предназначенный для хранения данных, точность представления которых колеблется от 1 до 4 десятичных знаков. Целая часть данного типа может содержать до 15 десятичных знаков.

6) Счетчик — поле содержит 4-байтный уникальный номер, определяемый Microsoft Access автоматически для каждой новой записи либо случайным образом, либо путем увеличения предыдущего значения на 1. Значения полей типа счетчика обновлять нельзя. Максимальное число записей в таблице с полем счетчика не должно превышать двух миллиардов.

7) Логический — логическое поле, которое может содержать только два значения, интерпретируемых как Да/Нет, Истина/Ложь, Включено/Выключено. Поля логического типа не могут быть ключевыми, но их можно индексировать. Access использует величину 1 для представления значения Истина и величину 0 — для значения Ложь.

8) Поле объекта OLE — содержит ссылку на OLE-объект (лист Microsoft Excel, документ Microsoft Word, звук, рисунок и т. п.). Объем объекта ограничивается имеющимся в наличии дисковым пространством. Тип объекта OLE не указывается в свойствах поля объекта OLE. Он зависит от приложения, использованного для создания объектов OLE, которые хранятся в этом поле. Упаковщик объектов позволяет внедрять файлы, созданные приложениями, которые не являются серверами объектов OLE. Например, он позволяет внедрить текстовые файлы в качестве объектов в таблицы Access. В поле объекта OLE могут храниться произвольные данные, в том числе и данные нескольких типов. Это позволяет обойти основное ограничение реляционных баз данных, которое требует, чтобы в каждом поле хранились данные только одного типа.

9) Гиперссылка — дает возможность хранить в поле ссылку, с помощью которой можно ссылаться на произвольный фрагмент данных внутри файла или Web-страницы на том же компьютере, в Интернет. Гиперссылка состоит из четырех частей: отображаемый текст, адрес (путь к файлу или странице), дополнительный адрес (положение внутри файла или страницы) и текст всплывающей подсказки. Каждая часть гиперссылки может содержать до 2048 символов. Поле типа Гиперссылка не может быть ключевым или индексированным.

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

Свойство Формат поля на вкладке Общие позволяет указать форматы вывода текста, чисел, дат и значений времени на экран и на печать. Для каждого типа поля существует свой набор встроенных стандартных форматов.

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

Чтобы добавить или удалить поле из таблицы надо щелкнуть левой кнопкой мыши в столбце Имя поля, напротив какой-либо строки, и в контекстном меню выбрать нужное действие.

Ключевое поле — это одно или несколько полей, комбинация значений которых однозначно определяет каждую запись в таблице. Если для таблицы определены ключевые поля, то Access предотвращает дублирование или ввод пустых значений в ключевое поле. Ключевые поля используются для быстрого поиска и связи данных из разных таблиц при помощи запросов, форм и отчетов. В Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ. Для создания ключевого поля типа Счетчик необходимо в режиме Конструктора таблиц включить в таблицу поле счетчика и задать для него автоматическое увеличение на 1. Указать это поле в качестве ключевого путем нажатия на кнопку Ключевое поле на панели инструментов Конструктор таблиц.

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

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

С целью ускорения поиска и сортировки данных в любой СУБД используются индексы. Индекс является средством, которое обеспечивает быстрый доступ к данным в таблице на основе значений одного или нескольких столбцов. Индекс представляет собой упорядоченный список значений и ссылок на те записи, в которых хранятся эти значения. Чтобы найти нужные записи, СУБД сначала ищет требуемое значение в индексе, а затем по ссылкам быстро отбирает соответствующие записи. Индексы бывают двух типов: простые и составные. Простые индексы представляют собой индексы, созданные по одному столбцу. Индекс, построенный по нескольким столбцам, называется составным. Однако применение индексов приносит не только преимущества, но и недостатки. Главным среди них является тот, что при добавлении и удалении записей или при обновлении значений в индексном столбце требуется обновлять индекс, что при большом количестве индексов в таблице может замедлять работу. Поэтому индексы обычно рекомендуется создавать только для тех столбцов таблицы, по которым наиболее часто выполняется поиск записей.

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

Любое изменение в любой из таблиц базы данных должно вызывать адекватное изменение во всех других таблицах. Это и составляет сущность обеспечения целостности базы данных. Практически эта задача осуществляется установлением связей между таблицами базы данных. В связанных таблица одна таблицы является главной, которая обязательно должна содержать ключевое поле, а другая – подчиненной, которая содержит аналогичное поле, в ней не являющееся ключевым. Ключевое поле главной таблицы называют первичным ключом. Ключевое поле подчиненной таблицы называют внешним ключом. Связываемые поля таблиц должны иметь один тип данных.

Между таблицами могут быть следующие типы связей:

- связь «один к одному» устанавливается в случаях, когда конкретная строка главной таблицы в любой момент времени связана только с одной строкой подчиненной таблицы;

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

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

Для того чтобы было удобно просматривать, создавать, удалять и модифицировать связи между таблицами, в Microsoft Access используется схема данных. Чтобы открыть схему данных, необходимо выполнить команду Сервис - Схема данных (рис. 3.26). По умолчанию, если связи уже были созданы, схема будет содержать все таблицы со связями. Чтобы убрать какую-либо таблицу из схемы данных, необходимо щелкнуть правой кнопкой мыши на любом месте этой таблицы и из контекстного меню выбрать команду Скрыть таблицу. (Удаление таблицы из схемы данных не означает удаление ее из базы данных, просто она не будет присутствовать на схеме.) Чтобы вновь добавить в эту схему свернутую таблицу или таблицу, у которой связи еще не установлены, необходимо: 1) щелкнуть правой кнопкой мыши на свободном пространстве схемы данных и из контекстного меню выбрать команду Добавить таблицу; 2) в появившемся диалоговом окне Добавление таблицы раскрыть вкладку Таблицы, выбрать из списка необходимую таблицу и нажать кнопку Добавить.

Рис. 3.26. Пример схемы данных.

Рис. 3.27. Диалоговое окно «Изменение связей».

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

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

Ввод и проверка данных.

Данные можно вводить непосредственно в таблицу (выбрав Таблица - Открыть) или с помощью созданной формы.

При работе в режиме таблицы существуют три операции с записями: добавление записи, изменение записи и удаление записи. Чтобы добавить в таблицу новую запись, необходимо нажать кнопку Новая запись на панели инструментов Таблица, а затем ввести данные в поля новой записи.

Чтобы изменить существующую запись, достаточно поместить указатель мыши на поле, данные в котором необходимо изменить. После этого ввести новые данные и нажать клавишу Таb или Enter для перехода на следующее поле. Окончательно данные будут изменены только после перехода на следующую или любую другую запись. До тех пор, пока работа выполняется над одной записью, все изменения можно отменить, нажав клавишу Esc. Если необходимо отменить изменения, произведенные в текущем поле, можно также воспользоваться клавишей Esc.

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

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

Сортировка и фильтрация данных.

Операция сортировки данных используется для удобства нахождения нужной информации. Когда на экране (или на бумаге) отображается таблица, гораздо легче найти нужную строку, если эти строки упорядочены. Access позволяет сортировать строки по разным признакам (столбцам таблицы). По умолчанию, когда таблица открывается в режиме Таблицы, она упорядочивается по значению ключевого поля. Если ключевое поле для таблицы не определено, записи выводятся в порядке их ввода в таблицу. Если нужно отсортировать записи по значению другого поля, достаточно установить курсор на любую строку соответствующего столбца и нажать на панели инструментов одну из кнопок: Сортировка по возрастанию или Сортировка по убыванию. Или щелкнуть правой кнопкой мыши по любой строке нужного столбца и выбрать из контекстного меню соответствующую команду. Таким образом, можно упорядочить записи по любому столбцу таблицы. Ограничения существуют только на тип данных, которые можно упорядочивать — нельзя сортировать значения полей типа MEMO, гиперссылки или объекты OLE.

Сортировка осуществляется с учетом следующих правил:

  1. при сортировке в возрастающем порядке записи, содержащие пустые поля (с пустыми значениями), указываются в списке первыми;

  2. числа, находящиеся в текстовых полях, сортируются как строки символов, а не как числовые значения;

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

Если вы изменили порядок сортировки записей в таблице, а потом решили ее закрыть, Access запрашивает, хотите ли вы сохранить изменения макета. Если вы ответите Да, то новый порядок сортировки сохранится и воспроизведется, когда таблица будет открыта в следующий раз. Для того чтобы вернуться к первоначальному порядку сортировки (т.е. по значению ключевого поля), необходимо выполнить команду меню Записи-Удалить фильтр.

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

В Microsoft Access предусмотрено четыре способа отбора записей с помощью фильтров:

- фильтр по выделенному фрагменту,

- обычный фильтр,

- поле Фильтр для,

- расширенный фильтр.

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

Чтобы использовать фильтр по выделенному фрагменту, необходимо:

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

2) выделить это значение и нажать кнопку Фильтр по выделенному на панели инструментов Режим таблицы.

Чтобы отменить фильтр, необходимо нажать на кнопку Удалить фильтр на панели инструментов Режим таблицы или воспользоваться одноименной командой контекстного меню. Кнопки Применение фильтра и Удалить фильтр являются по сути одной кнопкой, состояние (нажата, отжата) и подпись которой меняются в зависимости от того, установлен или нет фильтр для таблицы. Еще одним признаком, по которому можно узнать, что в таблице отображаются отфильтрованные записи, является сочетание букв ФЛТР в строке состояния окна приложения.

Похожей возможностью фильтрации записей обладает поле Фильтр для. Его можно использовать в том случае, когда не удается быстро найти образец отбора в столбце таблицы. В поле Фильтр для можно указывать не только конкретные значения, но и выражения, требующие вычислений. Чтобы использовать поле Фильтр для, необходимо:

1) Открыть таблицу в режиме Таблицы;

2) Щелкнуть правой кнопкой мыши на поле, для которого нужно указать условие отбора, а затем ввести значение условия отбора в поле Фильтр для в контекстном меню;

Чтобы применить обычный фильтр, необходимо:

1) Открыть таблицу в режиме Таблицы;

2) Нажать кнопку Изменить фильтр на панели инструментов Режим таблицы. Появится форма фильтр — специальное окно для изменения фильтра. Форма содержит линейку полей таблицы. В любое из этих полей можно ввести или выбрать из списка значение, которое и будет являться условием отбора. Если условия ввести в несколько полей, они будут объединяться с помощью логического оператора И. Для того чтобы объединить условия по ИЛИ, нужно раскрыть другую вкладку этой формы, щелкнув по ярлычку ИЛИ в нижней части формы.

3) Нажать кнопку Применение фильтра на панели инструментов Режим таблицы.

Создание форм.

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

Создать форму можно несколькими способами. Если в окне базы данных открыть вкладку Формы и щелкнуть по кнопке Создать, то откроется окно, в котором указаны способы создания формы (рис. 3.28).

Конструктор позволяет создать форму самостоятельно. Мастер форм дает возможность создать форму на основе выбранных полей. В этом случае Access в режиме диалога выясняет у пользователя, какую форму он хочет получить, и создает ее автоматически. Если пользователя в этой форме что-либо не удовлетворяет, можно исправить это в режиме конструктора. Автоформы являются частными случаями мастера форм, т.е. они автоматически создают заданные виды форм практически без участия пользователя. Диаграмма создает форму со встроенной диаграммой, а сводная таблица - со сводной таблицей Excel.

Рис. 3.28. Окно создания форм.

Рис. 3.29. Окно конструктора формы.

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

Для перехода к Конструктору форм откроем вкладку Формы в окне базы данных и выберем кнопку Создать, в окне Новая форма укажем таблицу - источник данных и выберем режим Конструктор. На экране появится окно Конструктора формы (рис. 3.29).

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

Рис. 3.30. Окно свойства формы.

Список полей позволяет методом «перетащил и оставил» быстро добавить на форму элементы для ввода данных в поля таблицы (окно «сотрудники» на рис. 3.29).

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

Надпись (Label) – предназначена для ввода заголовков, поясняющего текста и примечаний. Это несвязанный элемент. Основные свойства: Имя (Name) – название метки; Подпись (Caption) – текст, выведенный на метке. Чтобы разместить текст на надписи в несколько строк, в конце первой строки нажмите CTRL+Enter. В этом случае и остальные строки на этой надписи будут автоматически переноситься, а максимальная ширина надписи определиться длиной первой строки текста.

Поле (TextBox) – предназначено для вывода информации из полей базы данных, это связанный элемент. Свойства: Данные (ControlSource) – определяет, какие данные отображаются в поле. Данные могут быть получены из таблицы или запроса, удобнее всего назначить источник данных из построителя выражений, нажав кнопку с многоточием справа от свойства Данные. Ручной ввод также несложен. Например, если в поле выводится поле ФИО из таблицы Сотрудники, в поле ввода Данные следует набрать = [Сотрудники]![ФИО]

Поле со списком (ComboBox) – после перетаскивания объекта на форму вызывается Мастер. Поле со списком может использовать данные из таблицы или запроса, либо вводится фиксированный набор значений для поля. Значение, выбранное из поля со списком, можно запоминать в переменной или в поле таблицы базы данных.

Список (ListBox), в отличие от поля со списком, позволяет лишь выбрать одно из заранее предусмотренных значений. Выбор из списка позволяет быть уверенным, что введенное значение является допустимым. После добавления объекта на форму вызывается Мастер, аналогичный Мастеру создания поля со списком.

Кнопка (Button) – элемент управления, который содержит некоторый набор команд, предназначенных для создания управляющих действий при работе с формами. Создается с помощью Мастера кнопок (рис. 3.31), который позволяет определить более 30 процедур обработки событий, поместить на кнопке надпись или рисунок.

Набор вкладок – вкладки позволяют разместить в одном окне формы несколько наборов интерфейсных элементов.

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

Рис. 3.31. Окно мастера создания кнопок.

Редактируя форму можно перемещать поля, менять их свойства (шрифт, его размер, подпись поля). Для выравнивания элементов формы достаточно выделить их «мышью» при нажатой Shift, а затем из контекстного меню выбрать подменю Выровнять. Аналогично можно выровнять размеры интерфейсных элементов, установить цвета текста и фона, изменить стиль оформления. [3, 4, 6]

Создание запросов.

Большинство СУБД разрешают использовать запросы следующих типов:

  • запрос-выборка, предназначенный для отбора данных, хранящихся в таблицах, и не изменяющий эти данные;

  • запрос-изменение, предназначенный для изменения или перемещения данных. К этому типу запросов относятся: запрос на добавление записей, запрос на удаление записей, запрос на создание таблицы, запрос на обновление;

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

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

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

1) таблицы, структура которых соответствует исходной таблице (таблицам) БД;

2) таблицы, структура которых отличается от исходной таблицы (таблиц) БД, — так называемые кросс-таблицы. Структура кросс-таблицы отличается от структуры исходной таблицы БД тем, что заголовками столбцов в такой таблице являются не имена, а значения выбранных полей. Такие таблицы формируются с помощью особых видов запросов — перекрестных запросов. Перекрестные запросы — это запросы, которые применяются для выбора информации с одновременным группированием данных по значениям отдельных полей.

Запрос-выборка. Для создания нового запроса-выборки надо в окне базы данных выбрать вкладку Запросы и щелкнуть по кнопке Создать. После этого откроется окно Новый запрос (рис. 3.32).

Рис. 3.32. Окно создания запросов.

Конструктор позволяет самостоятельно создать любой тип запроса. Для этого необходимо:

  1. открыть Конструктор запросов;

  2. В открывшемся окне Добавление таблицы выбрать таблицу или таблицы, на основе которых составляется запрос. При этом в окне конструктора появится таблица с именами полей.

  3. После ввода таблицы (таблиц) щелкнуть по кнопке Закрыть.

  4. Переместить необходимые для запроса поля таблицы в поля окна Конструктор запросов (рис. 3.33).

  5. Установить порядок сортировки записей по значениям каких-либо полей (например, сортировать записи в алфавитном порядке по полю ФИО).

  6. Определить необходимость вывода на экран значений полей. Если «Да», то щелкнуть мышью по квадратику в строке «Вывод на экран».

  7. Ввести в строку «Условие отбора» соответствующие значения полей, по которым производится отбор данных из таблиц. Условием отбора является выражение, которое состоит из операторов сравнения и сравниваемых операторов (рис. 3.33).

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

При задании условий отбора данных необходимо соблюдать следующие правила.

1) Перед вводом значения текстового (символьного) поля должен стоять знак «=».

2) Вводимая строка символов должна быть заключена в кавычки. Данное правило, если вы забыли его соблюсти, Аccess выполнит сам.

3) Математические условия выборки определяются известными операторами сравнения (=, <, >, <=, >=). Кроме этих операторов могут применяться операторы сравнения BETWEEN, IN, LIKE и логические операторы OR, AND, NOT.

4) При составлении условий выборки по полям Дата/Время могут применяться условия (функции), которые при составлении запроса вводятся как вычисляемые поля.

5) Если условие отбора не содержит оператора, то по умолчанию используется оператор =.

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

[Имя таблицы]![Имя поля]

7) Условия отбора, заданные в одной строке, связываются с помощью логической операции И, а заданные в разных строках - с помощью логической операции ИЛИ. Эти операции могут быть заданы явно в условии отбора с помощью операторов АND и ОR соответственно.

8) Сформировать условие отбора можно с помощью Построителя выражения. Перейти в окно Построитель выражений можно, нажав кнопку Построитель на панели инструментов или выбрав команду Построить в контекстном меню. При этом курсор мыши должен быть установлен в ячейке ввода условия отбора. После ввода выражения в бланк и нажатия клавиши Enter Access выполняет синтаксический анализ выражения и отображает его в соответствии с результатами этого анализа.

Ввод условий отбора данных непосредственно в строки Конструктора запросов рекомендуется при конструировании постоянных запросов. При конструировании параметрических запросов ввод условий отбора данных рекомендуется производить через формы.

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

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

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

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

Запрос с параметрами - запрос, при выполнении которого в его диалоговом окне пользователю выдается приглашение ввести данные, на основе которых будет выполняться запрос. Для создания запросов существует специальный язык SQL. Но, работая с Access, можно не изучать этот язык, т.к. в программе существует бланк запроса по образцу. Задание параметров производится в строке Условия отбора для соответствующих полей. Для создания запроса с параметром команду LIKE [параметр] надо поместить в строке Условие отбора в том поле, по которому производиться выбор. Затем надо описать параметр. Для этого из меню выбрать Запрос – Параметры и в открывшемся окне записать параметр (т.е. имя поля) и его тип.

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

Существует четыре типа запросов на изменение.

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

2. На обновление записи. Запрос на обновление вносит общие изменения в группу записей одной или нескольких таблиц. Например, на 10 процентов поднимаются цены на какую-либо категорию продукции или на 5 процентов увеличивается зарплата сотрудников определенной категории. Запрос на обновление записей позволяет изменять данные в существующих таблицах.

3. На добавление записей. Запрос на добавление добавляет группу записей из одной или нескольких таблиц в конец другой таблицы или нескольких таблиц. Например, появилось несколько новых клиентов, а также база данных, содержащая сведения о них.

4. На создание таблицы. Запрос на создание таблицы создает новую таблицу на основе всех или части данных из одной или нескольких таблиц. Запрос на создание таблицы полезен при создании таблицы для экспорта в другие базы данных Microsoft Access или при создания архивной таблицы, содержащей старые записи.

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

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

Автоматизация расчетов с помощью запросов.

Access позволяет автоматизировать различного рода вычисления. Например, процесс пересчета цены товара в рублях на денежные эквиваленты в иностранных валютах. Такие расчеты бывают необходимыми в торговой и финансовой деятельности предприятий. Процесс вычислений с применением запросов основан на создании специального расчетного поля при конструировании запроса. Такое поле можно создать в режиме Конструктора. Для этого необходимо составить запрос в режиме Конструктора; установить курсор в последнюю ячейку строки Поле и активизировать контекстное меню, щелкнув правой кнопкой мыши; в появившемся окне активизировать команду Построить. В результате выполнения этой команды откроется окно Построитель выражений, выполняя указания которого строится выражение для расчета. [4, 5, 6]

Создание отчётов. Вывод информации из базы данных.

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

Каждый пользователь, работающий с СУБД, имеет возможность использовать специальные средства построения отчётов для вывода данных. Используя специальные средства создания отчётов, пользователь получает следующие дополнительные возможности вывода данных:

  1. включать в отчёт выборочную информацию из таблиц баз данных;

  2. добавлять информацию, не содержащуюся в базе данных;

  3. при необходимости выводить итоговые данные на основе информации базы данных;

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

  5. •включать в отчёт информацию из разных связанных таблиц базы данных.

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

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

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

Для создания отчета с помощью мастера отчетов следует нажать кнопку Создать на вкладке Отчеты в окне Базы данных и, указав в окне Новый отчет таблицу, на базе которой создается отчет, щелкнуть мышью на строке Мастер отчетов. В результате на экране появится первое диалогового окно мастера отчетов Создание отчетов (рис. 3.34). В этом окне поля списка Доступные поля перемещаются в список Выбранные поля нажатием кнопки со стрелкой > (перемещение одного поля) и кнопки с двойными стрелками >> (перемещение всех полей).

Рис. 3.34. Диалоговое окно «Мастера отчетов».

В следующем диалоговом окне мастера определяется способ группировки, для чего необходимые поля из левого списка переносятся в правый. Заметим, что данные в отчете можно группировать не более чем по трем полям. Выбор уровня группировки осуществляется кнопкой Уровень, после чего нажимают кнопку Группировка. Открывшееся при этом окно Интервал группировки служит для изменения интервалов группирования данных в отчете. При использовании стандартного значения интервала группировки Обычный в одну группу объединяются записи с одинаковыми значениями в заданном поле. Переход в следующее окно для определения способа сортировки данных осуществляется нажатием кнопки ОК.

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

Рис. 3.35. Выбор порядка сортировки записей.

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

Следующее окно Мастера предназначено для выбора стиля оформления отчета и в нем также имеется поле для просмотра образцов. Выбрав стиль, следует нажать кнопку Далее и присвоить отчету имя. Из этого же окна можно открыть режим конструктора, чтобы внести исправления в отчет или улучшить его оформление.

Отчет можно сохранить с помощью команды Сохранить из меню Файл.

Печать таблицы.

Самым простым способом вывода таблицы на печать является использование кнопки Печать на панели инструментов База данных. При этом производится печать всей таблицы.

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

Чтобы настроить расположение информации на листе, нужно открыть таблицу в режиме Таблицы и выбрать из меню Файл команду Параметры страницы.

Чтобы иметь возможность посмотреть расположение данных на страницах, прежде чем они будут отправлены на печать, можно воспользоваться функцией предварительного просмотра. Войти в режим Предварительного просмотра можно как из окна базы данных, так и из режима Таблицы. Чтобы просмотреть таблицу в режиме Предварительного просмотра из окна базы данных, необходимо выделить таблицу в списке таблиц окна базы данных, а затем нажать кнопку Предварительный просмотр на панели инструментов База данных или выбрать из меню Файл команду Предварительный просмотр.

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

Рис. 3.36. Окно предварительного просмотра документа.

Понятие макрокоманды и макроса.

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

Для создания макроса в окне базы данных нужно выбрать вкладку Макросы и нажать на кнопку Создать. Появится окно конструктора макросов (рис. 3.37). Оно состоит из двух столбцов: Макрокоманда и Примечание. В столбце Макрокоманда перечисляются команды, подлежащие выполнению. Чтобы в ячейке столбца Макрокоманда задать нужную макрокоманду, ее следует выбрать из списка. Столбец Примечание, содержит комментарии к командам. При выполнении макроса он игнорируется, однако его заполнение делает текст макроса понятнее.

Рис. 3.37. Вид окна макроса.

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

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

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

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

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

Чтобы запустить макрос из любого режима Microsoft Access, нужно выбрать команду Сервис – Макрос - Запуск макроса и указать имя макроса. [4, 6]