Иллюстрированный самоучитель по Office2003

         

Целостность данных


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

Связанные поля должны иметь один тип данных. Два исключения сделаны для поля счетчика: оно может быть связано с числовым полем, свойство которого Размер поля (FieldSize) имеет значение Длинное целое. Кроме того, поле счетчика, свойство Размер поля (FieldSize) которого имеет значение Код репликации, можно связать с числовым полем, если свойство Размер поля (FieldSize) имеет значение Код репликации.

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

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



Форматирование таблицы


Как и таблицы созданные в других программах, таблицы Microsoft Access можно форматировать: изменять ширину поле, высоту строк, применять различные шрифты. Методы форматирования те же, что и в Microsoft Word или Microsoft Excel и подробно рассмотрены в главах 7 и 15. В качестве примера укажем, что для изменения ширины столбца, поставьте курсор в этот столбец и выберите в меню Формат (Format) команду Ширина столбца (Column Width) . На экране отобразится одноименное окно (рис. 23.19), в котором указывается ширина столбца. Стандартная ширина столбца в американской версии равна 15,6667, в русской версии — 15,4111. Кнопка По ширине данных (Best Fit) подгонит ширину поля по самому длинному значению поля.


Рис. 23.19 Окно, используемое для форматирования столбца по ширине



Форматы чисел




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

Основной (General Number) — отображает число с выравниванием по правому краю без разделителя разрядов. Перед отрицательным числом ставится знак минус. Отображает до 11 символов, включая десятичные точки или символ «Е» и «+». Число, содержащее более 11 цифр перед разделителем целой и дробной части, отображается в экспоненциальном формате. Текст выравнивается по левому краю,

 Денежный (Currency) — используется для вывода денежных значений.

 Евро (Euro) — используется для вывода денежных значений, исчисляемых в евро.

 Фиксированный (Fixed) — Отображает число с двумя десятичными знаками. Например: 168,30.

 С разделителями разделов (Standard) — Отображает число с разделителем групп разрядов и двумя цифрами справа от десятичного разделителя. В качестве разделителя групп разрядов обычно используется точка или запятая в зависимости от национальных стандартов, заданных с помощью панели управления Windows в разделе «Язык и стандарты». Пример использования точки, соответствующий национальным стандартам английского языка США: 12.35. Запятая может использоваться в качестве разделителя групп разрядов: 1,800.00.

 Процентный (Percent) — Отображает число, умноженное на 100, с двумя десятичными знаками и знаком процента. Например, число 0,4914 отображается как 49,14%.

 Экспоненциальный (Scientific) — Отображает числа в экспоненциальном представлении. Этот формат целесообразно использовать для чисел, содержащих более 11 цифр. Пример числа в экспоненциальной форме: 2.35E+1Q.

Если ввести $2.45, автоматически будет применен денежный формат. Знак евро помещается перед числом или после числа в соответствии с национальными стандартами для денежных единиц, установленным на панели управления Windows. Чтобы ввести знак евро € , убедитесь, что включен режим Num Lock клавиатуры, а затем наберите Alt+0128 на цифровой клавиатуре.



Форматы даты


Полный формат даты отображает число как дату и/или время. Различают следующие форматы даты:

 Полный формат даты (General Date) — в ячейке отображается дата с указанием числа, месяца, года и время, например, 20.07.2001 18:20:23.

 Длинный формат даты (Long Date) — отображает дату с указанием числа, месяца, года. Для года отводятся четыре цифры, например, 20 июля 2001 г.

 Средний формат даты (Medium Date) — отображает дату, разделяя месяц и число в соответствии с национальными стандартами, принятыми в Windows. Для года отводятся две цифры. Пример: 20-янв-01.

 Краткий формат даты (Short Date) — отображает дату, используя краткий формат даты, заданный в разделе «Язык и стандарты» панели управления Windows, например: 25.01. 2001.

Для вставки текущей даты в режимах таблицы и формы нажмите клавиши Ctrl+; (Ctrl+$).



Форматы времени


Различают следующие форматы времени:

 Длинный формат времени (Long Time) — отображает время, используя длинный формат времени, заданный в разделе «Язык и стандарты» панели управления Windows с указанием часов, минут и секунд, например: 8:45:36.

 Средний формат времени (Medium Time) — приводит время суток без указания секунд. При вводе времени в 12-часовом формате, после значения времени поставьте пробел и укажите AM или РМ; например, РМ. Пример: 8:45 РМ.

 Краткий формат времени (Short Time) — отображает время суток в 24-часовом формате, без указания секунд. Пример: 20:45.



Отображение окна базы данных Access




Знакомится с Microsoft Access 2003

Назначение Access

Запуск Access и завершение работы с программой

Отображение окна базы данных Access на экране

Использование предыдущих версий Access

Создание базы данных

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

Создание таблицы в режиме конструктора

Создание или изменение ключевого поля

Создание индексов

Ввод данных в таблицу и ее редактирование

Форматы чисел

Выделение записей или поля

Редактирование записей

Изменение структуры таблицы

Форматирование таблицы

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

Сжатие и восстановление базы данных

Экспорт и импорт данных








Импорт данных в формате


Чтобы выполнить импорт таблиц из файла XML, выполните следующие действия:

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

 Выберите в меню Файл (File) команды Внешние данные (Get External Data), Импорт (Import).

 В диалоговом окне Импорт (Import) в раскрывающемся списке Тип файлов (Files of Туре) выберите элемент XML.

 В поле Папка (Look in) выберите папку содержащую требуемый документ, выделите его и нажмите кнопку Импорт (Import).



Использование ключевых полей для задания связи между таблицами


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

Внешний ключ может иметь значение Null; если внешний ключ состоит из нескольких полей, и хотя бы одно из них имеет значение Null, то все поля должны иметь значение Null.

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



Использование предыдущих версий Access


В Office XP был использован новый формат для баз данных, несовместимый со старыми версиями. Поэтому база данных, созданная в Office XP или Office 2003, не будет работать с базами данных, которые созданы в предыдущих версиях. Предусмотрена возможность открытия баз данных, созданных в предыдущих версиях. Если все пользователи, работающие со старой версией, перешли на новую версию, то желательно произвести преобразование форматов, чтобы обеспечить использование новых возможностей.

Рекомендуется создать резервную копию базы данных, подлежащую преобразованию, скопировав файл базы данных (файл MDB) на резервный носитель. После создания резервной копию закройте базу данных, которая будет преобразовываться. Храните копию до тех пор, пока не будет осуществлен окончательный переход к новой базе данных. Перед тем как начать преобразование в другой формат сетевой базы данных Access, расположенной на сервере или в общей папке, убедитесь, что она закрыта всеми пользователями.

В диалоговом окне База данных для преобразования (Database To Convert From) выберите базу данных и нажмите кнопку Преобразовать (Convert). В диалоговом окне Преобразовать базу данных (Convert Database Into) введите с клавиатуры новое имя (без расширения .mdb) файла базы данных или укажите другую папку файла базы данных. При использовании другой папки можно оставить старое имя или задать новое.



Изменение структуры таблицы


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



Изменение структуры таблицы в режиме конструктора


Если вы хотите изменить последовательность полей таблицы, ввести новые или отредактировать имена, то в окне базы данных на вертикально расположенной панели Объекты (Objects) выберите значок Таблицы (Tables) , выделите имя редактируемой таблицы и перейдите в режим конструктора, выбрав в меню Вид (View) команду Конструктор (Design View) .



Изменение структуры таблицы в режиме таблицы


Чтобы добавить поле, установить курсор в поле, расположенное слева от места вставки, и выберите в меню Вставка (Insert) команду Столбец (Column) . Для удаления поля выделите ячейку в поле и выберите в меню Правка (Edit) команду Удалить столбец (Delete Column) .

Для изменения имени поля дважды щелкните область выделения этого поля и введите новый текст или установите курсор в поле и выберите в меню Формат (Format) команду Переименовать столбец (Rename column).



Изменение связи между таблицами


Для изменения связи между таблицами, выберите в меню Связи (Relationships) команду Изменить связь (Edit Relationship) . В диалоговом окне Изменение связей (Edit Relationship) нажмите кнопку Новое (Create) , чтобы создать связь (рис. 23.23).


Рис. 23.23 Изменение связей между таблицами

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

Чтобы связать совпадающие поля в главной и связанной таблицах, щелкните, пустую верхнюю ячейку в столбце Таблица/Запрос (Table/Query). В этой ячейке появится кнопка со стрелкой, открывающая список. Выделите в списке совпадающее поле. Затем щелкните, пустую верхнюю ячейку в столбце Связанной таблица/запрос (Related Table/Query) и выберите имя требуемого поля.

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



Экспорт таблиц в другие приложения


Чтобы открыть таблицу в приложении Microsoft Excel без скрытых столбцов и сохранив элементы форматирования, выберите в окне базы данных после открытия таблицы в меню Сервис (Tools) команды Связи с Office (Office Links) и Публикация в Microsoft Office Word (Publish it with Microsoft Office Word) . Команды Связи с Office (Office Links) и Слияние с MS Word (Merge it with MS Word) из этого же меню позволяет данные таблицы с документом Word и используется для печати писем и почтовых наклеек.

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



Ключевое поле


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

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

В специальном поле Счетчик (AutoNumber) каждой записи присваивается уникальный для этого поля номер, который автоматически увеличивается с каждой новой записью (см. ниже раздел «Создание или изменение ключевого поля»). Его можно использовать для нумерации записей по порядку.

Составной ключ (composite primary key) представляет собой комбинацию из нескольких полей. Он используется в тех случаях, когда невозможно гарантировать уникальность записи с помощью одного поля. Чаще всего такая ситуация возникает для таблицы, используемой для связывания двух таблиц в отношении «многие ко многим» (см. ниже раздел «Связи между таблицами в базе данных»).

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

Если поставить переключатель в положение Пользователь определяет ключ самостоятельно (No, I'll set a primary key) (рис. 23.13), то в следующем окне в раскрывающемся списке Выберите поле с уникальными для каждой записи данными (What field -will hold data that is unique for each record?) укажите ключевое поле (рис. 23.14). Положение переключателя в этом окне определяет, какие данные будут использоваться в ключевом поле:

 Последовательные числа, автоматически присваиваемые каждой новой записи (Consecutive number Microsoft Access assigns automatically to new record) — Access вводит возрастающие с каждой записью числа автоматически.

 Числа, вводимые пользователем при добавлении новых записей (Numbers I enter when I add new records) — пользователь вводит для каждой записи только числовые значения.

 Сочетание чисел и букв, вводимое пользователем при добавлении новых записей (Numbers and/or letters I enter when I add new records) — пользователь вводит для каждой записи как числовые, так и символьные значения.


Рис. 23.14 Выбор ключевого поля и используемых в нем данных



Назначение Access


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

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

Access позволяет создавать реляционные базы данных, в которых данные хранятся в виде таблицы. Его можно использовать для анализа данных, для создания динамических веб-страниц, в которых автоматически будут отображаться изменения данных. С его помощью можно создавать приложения баз данных, например приложения клиент/сервер.

Access может работать в качестве:

автономной СУБД для настольных систем;

 СУБД для файлового сервера;

 как интерфейсный клиент для связи с серверными СУБД масштаба предприятия, например, с Microsoft SQL Server.

Access 2003 представляет собой мощную платформу для создания настольных приложений и приложений клиент/сервер уровня подразделения или целого предприятия.

Access 2003 позволяет преобразовывать базы данных Microsoft Access в формат Microsoft SQL Server, предоставляет двухстороннюю поддержку XML. Для интеграции инструментария Access с базами данных MS SQL используются быстродействующие средства доступа к базам данных на основе интерфейса OLE-DB.



Отображение окна базы данных Access на экране


База данных Microsoft Access может содержать различные объекты: таблицы, запросы, формы, отчеты, макросы, модули и ярлыки страниц доступа к данным. Данные в связанных таблицах могут содержаться в другой базе данных Access, во внешнем источнике данных, например, в базе данных dBASE или в электронной таблице Microsoft Excel, а также в источнике данных ODBC, например, Microsoft SQL Server. Программа имеет инструменты, позволяющие хранить информацию в Интернете.

После запуска Access на экране отображается стандартное окно приложения Microsoft Office 2003 (рис. 23.1), вид которого определяется установками, сделанными на вкладке Вид (рис. 26.25) диалогового окна команды Параметры (Options) в меню Сервис (Tools) . На этой вкладке можно установить флажок область задан при запуске (Startup Task Pane), что обеспечит после запуска Access показ в правой части окна области задач Приступая к работе. Ссылки в .этой области задач позволяют подключиться к веб-узлу Microsoft Office Online, получить последние сведения об использовании Access, открыть файлы, с которыми вы работали ранее или создать файл.


Рис. 23.1 Окно Access, отображаемое на экране после запуска программй

Для более подробного знакомства с возможностями различных объектов базы данных в Access можно воспользоваться учебной базой Борей (North-wind.mdb) и ее клиент-серверной версией БорейСЗ (NorthwindCS). Для работы с БорейСЗ следует установить на вашем компьютере SQL Server 2000 Desktop Engine или Microsoft SQL Server.

Рассмотрим подробнее учебную базу Борей (Northwind.mdb). После ее открытия на экране видна вертикально расположенная панель Объекты (Objects) (рис. 23.2). На ней расположены значки, используемые для создания новых объектов базы данных и открытия существующих: Таблицы (Tables), Запросы (Queries), Формы (Forms), Отчеты (Reports) и т.д. После щелчка значка какого-либо типа объекта, в правой части окна отображается список всех объектов базы данных выбранного типа. Ярлык Группы (Groups) используется для добавления ярлыка новой группы к часто используемым объектам базы данных.
Для добавления группы щелкните правой кнопкой мыши строку заголовка окна базы данных, выберите в контекстном меню команду Новая группа (New Group) и в появившемся окне введите имя новой группы.

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

Изменить представление объектов в окне базы данных позволяют кнопки панели инструментов: Крупные значки (Large Icons), Мелкие значки (Small Icons), Список (List), Таблица (Details) или одноименные команды из меню Вид (View).



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

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

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

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

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

Рассмотрим таблицу Клиенты (рис. 23.3). Поля базы данных Клиенты содержат сведения о клиенте: его должность, адрес, номер телефона и т.д.


Перемещение между полями


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

Tab — перемещение к следующему полю справа;

 Shift+Tab — перемещение к следующему полю слева;

 Ноmе — переход к первому полю;

 End — переход к последнему полю.

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

Перемещение между полями в больших таблицах облегчает раскрывающийся список Перейти к полю (Select Object) на панели инструментов Формат (Режим таблицы).



Перемещение между записями


Для перемещения между записями можно использовать мышь, клавиатуру, вертикальную и горизонтальную полосы прокрутки, поле номера записи внизу окна и кнопки переходов по записям (рис. 23.4). Назначение кнопок переходов по записям:


Рис. 23.3. Фрагмент базы данных :1 — выделение всех записей, 2 — выделение поля, 3 — выделение строки


Рис. 23.4 Кнопки переходов по записям 1 — Первая запись (First Record) — выполняет переход к началу таблицы; 2 — Предыдущая запись (Previous Record) — возвращает назад на одну запись; 3 — Поле номера записи или Индикатор записи (Record Indicator) — отображает номер текущей записи; 4 — Следующая запись (Next Record) — позволяет просмотреть следующую запись; 5 — Последняя запись (Last Record) — обеспечивает переход в конец таблицы; 6 — Новая запись (New Record) — создает новую пустую запись.

Кнопки переходов по записям дублируют команды меню Правка (Edit), Перейти (Go To) .



Просмотр больших таблиц


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

Повторите эту операцию с другим столбцом, если вы хотите постоянно видеть на экране несколько столбцов. Если потребность в постоянном отображении столбца на экране, отпадет, то выберет в меню Формат (Format) команду Освободить все столбцы (Unfreeze Columns) . Чтобы не загромождать отображение таблицы не "интересующими вас столбцами, перетащите правую границу столбца в области выделения так, чтобы она совпала с левой границей, и нажмите кнопку Сохранить (Save) на панели инструментов. Столбец будет скрыт. Для отображения на экране скрытых столбцов выберите в меню Формат (Format) команду Отобразить столбцы (Unhide Columns).



Расширения файлов, используемых в Access


Access хранит все данные в одном файле, несмотря на то, что они могут быть распределены по разным таблицам. Таблицы с данными, их индексы, формы, отчеты хранятся в файлах с расширением .mdb (Microsoft Access database). Закрытый формат файлов с расширением .mde позволяет не включать исходный код VBA в распространяемые приложения Access. Файлы ,adp (Microsoft Access. project) обеспечивают подключение к интегрированным хранилищам данных SQL Server 2000 через соединение OLE DB, что позволяет создавать полноценные приложения, имеющие архитектуру клиент/сервер.

По умолчанию в Access используются файлы с расширением .mdb. Этот формат позволяет разработчикам сохранять файлы как *.mde или *.ade. При этом любой код Visual Basic компилируется, и исходный код исключается как из файла базы данных Access (.MDB), так и из файла проекта Access (.ADP), что обеспечивает более надежную защиту.



Редактирование записей


При редактировании записи в области ее выделения появляется изображение карандаша. Для возврата в первоначальное состояние поля, в котором находится курсор, после ввода в него символов выберите в меню Правка (Edit) команду Отменить ввод (Undo Typing) или нажмите клавишу ESC. Чтобы вернуть всю запись в первоначальное состояние, оставьте курсор в этой записи и выберите в меню Правка (Edit) команду Восстановить текущее поле или запись (Undo Current Field/Record) или перейдите в другое поле и выберите в меню Правка (Edit) команду Восстановить запись (Undo Saved Record).

Копирование и перемещение записи выполняется с использованием команд меню Правка (Edit) так же, как и в других программах (см. например, главу 4, раздел «Перемещение и копирование фрагментов документа»).

Удалить запись можно следующими способами:

1. выделите запись и выберите в Правка (Edit) команду Удалить (Delete).

2. выделите запись и нажмите клавишу Delete ;

3. нажмите кнопку Удалить запись (Delete Record) на панели инструментов;

4. поместите курсор в любое из полей записи и нажмите клавиши Ctr + — (минус).

Команда Строки (Rows) в меню Вставка (Insert) в режиме конструктора позволяет вставить новую строку над той строкой, где размещается курсор. Команду дублирует кнопка Добавить строки (Insert Rows) на панели инструментов.



Схема данных


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

Если между таблицами базы данных связи не были заданы, откроется диалоговое окно Добавление таблицы (Show Table). Выберите в окне требуемые таблицы и запросы и нажмите кнопку Добавить (Add). Они отобразятся в окне Схема данных (Relationships) .

На рис. 23.21 показаны линии связи между таблицами учебной базы данных, поставляемой с Access. В каждом небольшом окне отображены списки полей одной из таблиц. Ключевые поля выделено жирным шрифтом. Таблицы, не


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

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

Кнопки панели инструментов Отобразить прямые связи (Show Direct Relationships) и Отобразить все (Show All Relationships) позволяют показать схему прямых связей только одной таблицы или схемы связей всех таблиц в базе данных.


Рис. 23.22 Диалоговое окно Добавление таблицы



Синхронизация ценных в наборе реплик


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



Сохранение таблицы


Для сохранения созданной таблицы выберите в меню Файл (File) команду Сохранить (Save) или нажмите клавиши Ctrl+S. На экране отобразится окно Сохранение (Save As) (рис. 23.20). В диалоговое окно Сохранение (Save As) в поле Имя таблицы (Table Name) введите ее название. После того как вы закончите создание таблицы, закройте окно конструктора таблицы.


Рис. 23.20 Окно, позволяющее задать имя таблице



Создание базы данных


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

Для отображения области задач Создание файла в окне Microsoft Access в меню Файл (File) выберите команду Создать (New) или нажмите одноименную кнопку на панели инструментов. С клавиатуры выбрать команду можно нажатием на клавиши Ctrl+т (Ctrl+N).

Если в разделе Создание (New) щелкнуть ссылку Новая база данных (Blank Database) , то на экране отобразится диалоговое окно Файл новой базы данных (File New Database) с предложением дать имя новой базе данных dbl, расширение .mdb и сохранить ее в папке Мои документы (My Documents). «1» добавляется по умолчанию к присвоенному имени базе данных. Измените имя базы данных или оставьте как есть и нажмите кнопку Создать (Create) .



Создание базы данных с помощью шаблона


После щелчка ссылки На моем компьютере в области задач Создание файла (New File) открывается диалоговое окно Создание (New), позволяющее выбрать шаблон создаваемой базы данных (рис. 23.5). В правой части окна вы увидите, как будет выглядеть база данных выделенного шаблона. Однако предварительный просмотр предусмотрен не для всех шаблонов.

В качестве примера, на вкладке Базы данных (Databases) выделим значок Контакты (Contact Management) и нажмем кнопку ОК . На экране отобразится окно, предлагающее сохранить создаваемую базу данных. После выполнения этой операции появится окно Создание базы данных (Database Wizard), с сообщением, что база данных «Контакты» будет содержать:

 Сведения о контактах (Contact information);

 Сведения о звонках (Call information).


Рис. 23.5 Шаблоны, предлагаемые для создания базы данных

Нажмите кнопку Далее (Next) . В следующем окне необходимо определить, какие таблицы будут входить в базу данных, и задать их структуру, т.е. выбрать поля (столбцы) из которых будет состоять каждая запись. Например, в списке Таблицы базы данных (Tables in database) выберите Сведения о контактах (Contact information) и установите флажки около тех подлей таблицы, которые будут использоваться (рис. 23.6).


Рис. 23.6 Выбор таблицы базы данных и ее полей

В следующем окне из списка Выберите вид оформления экрана (What style would you like for style database) (рис. 23.7). Выбранный вид отображается в левой части окна.

В следующих окнах Выберите вид оформления отчета на печати и Задайте название базы данных (What would you like the title of the database to be) (рис. 23.8). Это название будет приведено во всех формах и отчетах. После установки флажка Добавить рисунок во все отчеты (Yes, I I'd like to include a picture) вы сможете выбрать растровый (bmp, dip) или векторный (wmf, emf) рисунок, который будет помещаться во все отчеты. Для отображения на экране окна Выбор рисунка (Insert Picture) нажмите кнопку Рисунок (Picture).


Рис. 23.7 Выбор вида оформления экрана


Рис. 23.8 Ввод названия базы данных

В последнем окне можно установить флажок Да, запустить базу данных (Yes, start the database) и нажать кнопку Готово (Finish) . Будет создан новый файл базы данных, а на экране отобразится Главная кнопочная форма (Main Switchboard) нового приложения (рис. 23.9). Внизу окна Microsoft Access отображено минимизированное окно созданной базы данных. Мастер поместил в новую базу данных различные типы объектов: таблицы, формы, отчеты и т.п. (Более подробно формы рассмотрены в главе 25.)

Назначение кнопок показанной на рисунке главной кнопочной формы:

 Ввод/просмотр формы «Контакты» (Enter/View Contacts) — открывает форму Контакты;

 Ввод/просмотр других сведений (Enter/View Other Information) — открывает кнопочную форму для форм (Reports Switchboard), которая имеет две кнопки: одна открывает форму для добавления записей, другая — возвращает в окно главной кнопочной формы;

 Просмотр отчетов (Preview Reports) — открывает форму, позволяющую просмотреть и распечатать отчеты;

 Изменение элементов кнопочной формы (Change Switchboard Items) — позволяет добавить в форму новые страницы или кнопки и изменить их;


Рис. 23.9 Главная кнопочная форма новой базы данных

 Выход (Exit this database) закрывает базу данных, с которой вы работали, оставляя на экране окно Microsoft Access.

В качестве примера на рис. 23.10 показана форма к базе данных, отображенная на экране после нажатия кнопки Ввод/просмотр формы контакты (Enter/View Contacts) . Работа с формами рассмотрена в главе 25.


Рис. 23.10 Форма для новой базы данных Контакты, созданная с помощью главной кнопочной формы



Создание или изменение ключевого поля


Для создания в таблице ключевого поля типа Счетчик в режиме конструктора выполните следующие действия:

 выберите в столбце Тип данных (Data Type) значение Счетчик (AutoNum-ber);

 на вкладке Общие в строке Новые значения (New Value) задайте Последовательные (Increment);

 выберите команду Ключевое поле (Primary Key) в контекстном меню, поcле щелчка правой кнопкой мыши поля или нажмите кнопку Ключевое поле (Primary Key) на панели инструментов Конструктор таблиц .

Другие способы создания ключевого поля в готовой таблице в режиме конструктора:

 установить в поле курсор и выбрать в меню Правка (Edit) команду Ключевое поле (Primary Key);

 выделить одно или несколько полей, удерживая нажатой клавишу Ctrl, и нажать кнопку Ключевое поле (Primary Key) на панели инструментов Конструктор таблиц. Слева от каждого ключевого поля появится изображение ключа.

Если вы забудете создать ключевое поле, то Access напомнит об этом окном с соответствующим предупреждением (рис. 23.18).


Рис. 23.18 Окно, предупреждающее, что в создаваемой таблице ключевые поля не заданы



Создание индексов


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

Недостаток использования индексов — после добавления или удаления записей следует обновить индекс. При большом количестве индексов это может привести к замедлению работы.

Индексировать можно любы? поля, кроме полей типа Мемо, Гиперссылка и Поле объекта OLE .



Создание копий баз ценных предыяуших форматов в новом формате


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

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

откройте базу данных перед созданием реплики;

 в меню Сервис (Tools) выберите команду Репликация (Replication) и подкоманду Создать реплику (Create Replica);

 нажмите кнопку Да (Yes) в ответ на вопрос о закрытии базы данных;

 в окне запроса о создании резервной копии базы данных нажмите кнопку Да (Yes) . (Это диалоговое окно выводится только при преобразовании базы данных в основную реплику), резервная копия будет иметь то же имя и расширение .bak;

 в диалоговом окне Размещение новой реплики (Location of New Replica) выберите место для размещения новой реплики, нажмите кнопку Приоритет (Priority), введите приоритет реплики и нажмите ОК ;

 в диалоговом окне Размещение новой реплики (Location of New Replica ) установите флажок Запретить удаление (Prevent deletes) , чтобы пользователи не могли удалять записи из реплики.

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



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


При создании таблицы следует руководствоваться следующими принципами:

таблица должна содержать все необходимые сведения;

 сведения в таблице или между таблицами не должны дублироваться;

 каждое поле в таблице содержит конкретный факт по теме таблицы;

 данные следует разбить на наименьшие логические единицы, например, имя, фамилия;

Таблицу можно создать несколькими способами:

1. С помощью мастера таблиц (Table Wizard) .

2. В режиме конструктора таблицы (Table Design).

3. За счет импорта данных из внешних источников.

4. За счет связи с внешней таблицей.

Мастера в Access являются удобным и эффективным средством построения базы данных, таблиц, запросов, форм и т.д. Окно мастера таблицы можно отобразить на экране несколькими способами:

1. В окне базы данных на панели Объекты (Objects) выбрать значок Таблицы (Tables) и дважды щелкнуть значок Создание таблицы с помощью мастера (Create Table By Using Wizard) (см. рис. 23.2).

2. В окне базы данных на панели инструментов нажать кнопку Создать (New) (см. рис. 23.2) и в диалоговом окне Новая таблица (New Table) выбрать Мастер таблиц (Table Wizard) (рис. 23.11).


Рис. 23.11 Выбор мастера таблиц в окне Новая таблица

После выбора в окне базы данных на панели Объекты (Objects) значка Таблицы (Tables) и двойного щелчка значка Создание таблицы с помощью мастера (Create Table By Using Wizard) (см. рис. 23.2), на экране отобразится окно мастера таблиц. В этом окне положением переключателя выберите область использования создаваемой таблицы Деловое применение (Business) или Личное применение (Personal) (рис. 23.12). Очевидно, что от области применения базы данных зависит структура таблицы, используемые в ней поля.


Рис. 23.12 Выбор полей создаваемой таблицы

В списке Образцы таблиц (Sample Tables) выделите, какого типа таблица будет создана, в списке Образцы полей (Sample Fields) выберите, какие поля будет иметь таблица.

Кнопки мастера таблиц, расположенные между списками имеют следующее назначение:


 < — удаление выделенного поля таблицы;

 << — удаление всех полей таблицы;

 > — ввод выделенного поля таблицы;

 >> — ввод всех полей таблицы.

Выбранные поля переместятся в список Поля новой таблицы (Fields in my new table). Переместить поле из одного списка другой можно не только кнопками, но и двойным щелчком мыши.

При желании вы можете нажать кнопку Переименовать поле (Rename Field) и ввести новое имя поля в появившееся на экране окно. В одну таблицу можно последовательно ввести поля, предназначенные как для делового, так и для личного применения и из разных образцов таблиц. Имена полей не должны повторяться. Если среди образцов полей нет нужного вам поля, то его можно создать.

Нажмите кнопку Далее (Next) и в следующем окне положением переключателя выберите способ определения ключа (рис. 23.13):

 Microsoft Access автоматически определяет ключ (Yes set a primary key for me) — ключевое поле задается автоматически. Кроме выбранных вами полей таблица будет содержать поле Счетчик (AutoNumber).

 Пользователь определяет ключ самостоятельно (No, I'll set a primary key) — ключевое поле выбирается пользователем.



Рис. 23.13 Задание имени таблицы и выбор способа определения ключа

Назначение ключевого поля рассмотрено ниже.

Введите имя таблицы или согласитесь с тем именем, которое предлагается автоматически в поле Задайте имя для новой таблицы (What Do You Want To name Your Table?) .

Хотя имена полей, элементов управления и объектов могут содержать пробелы и знаки препинания, их не рекомендуется включать в имена полей, особенно, если предполагается использовать данные совместно с другими программами. При некоторых обстоятельствах пробелы могут вызвать конфликты в программах Visual Basic. В качестве разделителей слов можно использовать прописные буквы или символ подчеркивания, например, имя поля Дата рождения можно записать как Дата рождения.

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

 Изменить структуру таблицы — предполагает внесение в таблицу новых полей.

 Ввести данные непосредственно в таблицу — используется, если намечен ввод данных в таблицу.

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

На любом этапе создания таблицы после нажатия кнопки Готово (Finish) откроется новая таблица.


Создание таблицы в режиме конструктора


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

Для перемещения между полями используйте клавиши управления курсором: стрелка-вправо, стрелка-влево и т.д. или клавиши Tab, Shift+Tab.



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


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

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



Свойства полей таблицы


Свойства поля определяют параметры поля: размер, тип данных и т.д. Свойства полей таблицы задаются в режиме конструктора таблиц. В верхней части окна (рис. 23.15) приводится список полей, в котором обязательно указывается Имя поля (Field Name) и Тип данных (Data Type) . Информация, введенная в поле Описание (Description) , будет отображаться в строке состояния таблицы при выборе поля. Описание не должно превышать 255 символов. Это свойство можно не задавать.


Рис. 23.15 Выбор типа данных для поля

Тип данных (Data Type) определяет, какую информацию можно ввести в поле. В раскрывающемся списке ячейки предусмотрены следующие типы данных:

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

 Поле Memo (Memo) — предназначено для ввода букв, цифр и знаков препинания (длинные тексты и комментарии — не более 65535 символов). Поле этого типа не может быть ключевым.

 Числовой (Number) — содержит только цифровую информацию (за исключением денежных величин), которую в дальнейшем можно использовать для вычислений.

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

 Дата/время (Date/Time) — содержит информацию о дате и времени. Дата и время хранятся в виде числа, целая часть которого представляет дату, дробная — время. Дата и время могут выводиться в различных форматах.

 Счетчик (AutoNumber) — имеет формат длинного целого (Long Integer) . При добавлении новой записи значение этому полю присваиваются автоматически. Это поле можно использовать в качестве ключевого.

 Логический (Yes/No) — применяется для полей содержащих значения Да (Yes) или Нет (No).
Например, в таком поле можно указать имеет ли данный сотрудник детей или нет. В логические поля можно записать число О, которое интерпретируется как Ложь (False) или 1 — подразумевается Истина (True) . Логическое поле не может быть ключевым, но по нему можно индексировать таблицу.
 Поле объекта OLE (OLE Object) — содержит объекты из других программ (растровые и векторные рисунки, аудио и видео файлы, электронные таблицы и т.д.). Это поле не может быть ключевым или индексным.
 Гиперссылка (Hyperlink) — предназначено для хранения адреса веб-страницы, расположенной в Интернете, интранете, локальной сети или на автономном компьютере. После щелчка мышью на этом поле автоматически запускается обозреватель. Гипрессылки позволяют выполнять переходы между объектами Microsoft Access без помощи программирования. Для создания ссылки, открывающей объект Access, введите имя объекта в поле гиперссылки.
 Мастер подстановок (Lookup Wizard) — загружает мастера подстановок и выводит комбинированное окно, позволяющее выбрать из списка требуемое значение, например, можно выбрать поле из другой базы данных.
Панель свойств содержит ряд дополнительных свойств поля, Приведем некоторые из них:
 Размер поля (Field Size) — для текстового поля определяет максимальное число символов, которое может быть введено в (не более 255). Для числовых полей выбирается длинное целое (Long Integer), целое (Integer ) и т.п. Чем шире поле, тем труднее пользоваться таблицей, так как она может не помещаться на экране. Однако поле, имеющее слишком маленький размер, может не вместить требуемую информацию. У некоторых типов полей: Дата/время (Date/Time) , Денежный (Currency), Мемо (MEMO), Поле объекта OLE (OLE Object) этого свойство отсутствует.
 Формат поля (Format) — позволяет изменить отображение данных на экране или при печати, например, длинный формат даты (Long Date) отображает: Вторник, 18 декабря 2001 г., короткий (Short Date) — 18.12.2001. Формат выбирается из раскрывающегося списка.


По умолчанию он определяется региональными настройками, сделанными в окне Панель управления операционной системы. У полей типа Поле объекта OLE (OLE Object) это свойство отсутствует.
 Новые значения (New Value) — определяет способ вычисления нового значения для добавляемой в таблицу записи. Это свойство есть только у полей Счетчик (AutoNumber) . Из раскрывающегося списка выбирается значение или Случайные (Random). При выборе значения Последовательные (Increment) новое значение поля увеличивается на 1.
 Маска ввода (Input Mask) — определяет, как будут вводиться и редактироваться данные. С ее помощью можно задать, какой тип символов (буква или цифра) будет вводиться в поле. Маску ввода можно создать с помощью мастера, запускаемого нажатием кнопки с тремя точками «», которая отображается в конце строки после установки в ней указателя мыши. Мастер предлагает список масок, используемых при вводе времени, номера телефона, индексов и т.п.
 Число десятинных знаков (Decimal'Places) — используется для числовых полей. Можно выбрать из раскрывающегося списка значение Авто или определенное значение. Число десятичных знаков можно ввести вручную.
 Подпись (Caption) — позволяет в режиме таблицы выводить в качестве заголовка надпись, приведенную в данной строке. Подпись может содержать любые символы
 Значение по умолчанию (Default Value) — предусматривает автоматический ввод определенного значения, например, если почти все представленные в таблице компьютеры имеют процессор Pentium, то в столбце Процессор можно предусмотреть ввод по умолчанию этого названия.
 Условие на значение (Validation Rule) — предусматривает ввод условия, которое будет проверяться каждый раз после изменения значения поля.
 Сообщение об ошибке (Validation Text ) — появляется в строке состояния при вводе в таблицу значения не соответствующего условию проверки.
 Обязательное поле (Required) — после ввода значения Да (Yes) для этого свойства, все записи таблицы в указанном поле должны быть заполненными.


Если указанное поле не будет заполнено, Access отобразит на экране соответствующее предупреждение.
 Пустые строки (Allow Zero Length) — поле должно содержать хотя бы один символ, если для него установлено значение Да (Yes) . Это свойство предусмотрено только для тестовых, MEMO полей и гиперссылок.
 Индексированное поле (Indexed) — определяет индекс, создаваемый по одному полю, что ускоряет поиск значений в этом поле. Если в этом поле часто будет выполняться поиск значений, то в раскрывающемся списке значений свойства выбирается Да (Совпадения допускаются) (Yes (Duplicates OK)). Если две записи не могут иметь одинаковое значение для данного поля, то устанавливается значение Да (Совпадения не допускаются) (Yes (No Duplicates)) . Значение Нет (No) удаляет значение индекса, кроме единственного ключевого поля. Нельзя индексировать таблицы по следующим полям: Мемо (MEMO), Поле объекта OLE (OLE Object) и Гиперссылка (Hyperlink).
На вкладке Подстановка (Lookup) свойства поля может выбираться Тип элемента управления (Display Control) , который влияет на отображение данных при вводе. Например, если у вас тип данных: Текстовый (Text) , то вы можете отобразить его как Поле (Text Box), Список (List Box) или Поле со списком (Combo Box) (рис. 23.16).



Рис. 23.16 Вкладка Подстановка свойств поля

Свойства таблицы


Свойства таблицы позволяют более полно описать таблицу, но их можно не вводить. Чтобы задать свойства таблицы, отобразите ее в режиме конструктора и нажмите на панели инструментов кнопку Свойства (Properties) или нажмите клавиши Alt+Enter.

Краткое описание свойств таблицы (рис. 23.17) дано ниже:

 Описание (Description) — используется для пояснений, касающихся назначения таблицы;

 Условие на значение (Validation Rule) — позволяет задать условие для проверки правильности вводимых в таблицу данных. Условие относится к таблице в целом, а не к конкретному полю;

 Сообщение об ошибке (Validation Text) — служит для ввода сообщения, которое будет отображаться на экране при вводе данных, не соответствующих условию на значение;

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

 Порядок сортировки (Order by) — задает порядок сортировки таблицы после ее открытия;

 Имя подтаблицы (Subdatasheets Name) — определяет, надо ли отображать в подтаблицах данные в связанных записях и как их отображать. По умолчанию установлено значение Авто (Auto), позволяющее автоматически добавлять вложенные таблицы для связанных записей. Значение Нет (None) отключает подтаблицы;


Рис. 23.17 Свойства таблицы

 Подчиненные поля (Link Child Fields) — определяет имя связанного поля подчиненной таблицы, если задано свойство Имя подтаблицы. Можно не указывать 'значение этого свойства, если установлено значение Авто для свойства Имя подтаблицы;

 Основные поля (Master Fields) — определяет для таблицы, стоящей по иерархии выше рассматриваемой, имя связующего поля, если задано значение Имя подтаблицы;

 Высота подтаблицы (Subdatasheet Height) — ограничивает максимальную высоту вложенной таблицы, если задано значение для свойства Имя подтаблицы;

 Развернутая подтаблица (Subdatasheet Expanded) — задает начальное отображение вложенной таблицы, если задано значение для свойства Имя подтаблицы. После установки значения Да (Yes) таблица будет открываться со всеми открытыми вложенными таблицами;

 Ориентация (Orientation) — может быть Слева направо (Left-to-Right) или Справа налево (Right-to-left) .



Сжатие и восстановление базы данных


При внесении изменений в базу данных, ее файл становится фрагментированным, при удалении записей из таблиц размер файла не уменьшается, Поэтому после внесения значительных изменений в базу данных рекомендуется выбрать в меню Сервис (Tools) команду Служебные программы (Database Utilities), Сжать и восстановить базу данных (Compact and Repair Database ). После сжатия база данных будет записана на диск под тем же именем.



в окне базы данных на



1. Создайте таблицу с помощью мастера таблиц (Table Wizard). Выберите в окне базы данных на панели Объекты (Objects) значок Таблицы (Tables) и дважды щелкните значок Создание таблицы с помощью мастера (Create Table By Using Wizard) (см. рис. 23.2). Следуйте указаниям мастера таблиц.
2. Создайте таблицу в режиме конструктора. В окне базы данных на панели Объекты (Objects) выберите значок Таблицы (Tables) и дважды щелкните значок Создание таблицы в режиме конструктора (Create table in design view) ( см. рис. 23.2). Введите имена полей (Field Name) , задайте их тип данных (Data Type). Задайте свойства полей таблицы.
3. Создайте базу данных Кадры, содержащую следующую информацию: фамилия, имя, отчество сотрудника, его табельный номер, дата рождения, адрес, семейное положение, номер отдела, должность, оклад. Разработайте структуру таблицы БД и укажите первичный ключ.
4. Проследите взаимосвязь между таблицами учебной базы данных, поставляемой с Access (см. рис. 23.21). С этой целью выберите в меню Сервис (Tools) к оманду Схема данных (Relationships) или нажмите одноименную кнопку на панели инструментов в окне базы данных.

Установление связи между таблицами


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

закройте все таблицы и формы;

 в окне базы данных выберите команду Схема данных (Relationships) в меню Сервис (Tools) или нажмите одноименную кнопку на панели инструментов;

 если в окне Схема данных (Relationships) будет представлена какая-либо информация, то нажмите сначала кнопку Очистить макет (Clear Layout), а затем кнопку Да (Yes) , чтобы продолжить выполнение намеченной операции;

 в меню Связи (Relationships) выберите команду Добавить таблицу (Show Table) или нажмите одноименную кнопку на панели инструментов;

 в диалоговом окне Добавление таблицы (Show Table) на вкладке Таблицы (Tables) выделите требуемую таблицу и нажмите кнопку Добавить (Add) или дважды щелкните имя этой таблицы (рис. 23.22);

 в окне Схема данных (Relationships) отобразится список полей выбранной таблицы с выделенным полем ключа;

 в диалоговом окне Добавление таблицы (Show Table) выделите таблицу, с которой устанавливается взаимосвязь и нажмите кнопку Добавить (Add);

 в окне Схема данных (Relationships) перетащите ключевое поле из списка главной таблицы в список связанной таблицы.

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



Вилы связей между таблицами


Реляционная база данных может содержать большое количество взаимосвязанных таблиц. Связи устанавливается между двумя общими полями (столбцами) двух таблиц. Связываемые поля могут иметь разные имена, но должны иметь одинаковый тип данных за исключением случая, когда поле первичного ключа является полем типа Счетчик. Поле счетчика связывается с числовым полем, если значения свойства Размер поля (FieldSize) обоих полей совпадают. Например, если свойство обоих полей имеет значение Длинное целое. Даже в том случае, когда связываются поля типа «Числовой», их свойства Размер поля (FieldSize) должны иметь одинаковые значения.

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

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

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

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


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

Математически такие связи можно записать 1:1, 1:т, т:1 и т:п. Более широкое распространение получили связи один ко многим, Например, один и тот же товар со склада может вывозиться в разные магазины, и одной записи в таблице Склад будет соответствовать несколько записей в таблице Магазины. Таблица Склад будет главной таблицей, а Магазины — связанной. В главной таблице для описания объекта используется одна запись. Избежать дублирования записей в этой таблице позволяет первичный ключ.

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

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


Ввод данных в таблицу и ее редактирование


Для отображения на экране таблицы в окне базы данных выделите имя таблицы в списке и выберите команду Открыть (Open) в меню Файл (File) или нажмите кнопку Открыть (Open) на панели инструментов.

Щелкните ячейку, в которую необходимо ввести данные. Введите данные и нажмите клавиши Enter или Tab. Для перехода к пустой записи нажмите клавиши Ctrl + (символ «плюс») или нажмите кнопку перехода по записям Новая запись (New Record) (см. рис. 23.4)

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

Чтобы ввести одни и те же данные в несколько ячеек, выделите ячейки, наберите данные, а затем нажмите Ctrl+Enter. Для удаления данных в выделенном поле нажмите клавишу Delete .

Например, чтобы ввести шифр компонента 06-02-11 в качестве текста, а не значения времени, введите 06-02-П. Чтобы изменить формат ячеек, выберите их и на панели инструментов листа щелкните кнопку Панель свойств.



Выделение записей или поля


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

1. щелкнуть область выделения строки (см. рис.23.3);

2. переместить курсор в запись и выбрать в меню Правка (Edit) команду Выделить запись (Select Record) ;

3. переместить курсор в запись и нажать клавиши Shift+Пробел. Если надо выделить несколько записей с клавиатуры нажмите клавиши Shift+Пробел, а затем Shift+стрелка-вверх или Shift+стрелка-вниз.

Для выделения всех записей выберите в меню Правка (Edit) команду Выделить все записи (Select All Records) или нажмите клавиши Ctrl+A. Для выделения поля поставьте в него курсор и нажмите клавишу F2. Повторное нажатие клавиши F2 отменит выделение поля.

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



в окне базы данных на



1. Чтобы открыть таблицу, в окне базы данных на вертикально расположенной панели Объекты (Objects) выберите значок Таблицы (Tables ), в списке имен таблиц базы выделите имя интересующей вас таблицы и нажмите на панели инструментов кнопку Открыть (Open) (см. рис. 23.2).
2. Для преобразования базы данных Access в другой формат выберите в меню Сервис (Tools) команду Служебные программы (Database Utilities), подменю Преобразовать базу данных (Convert Database) , и задайте формат, в который будет производиться преобразование, например, в формат Access 97 или в формат Access 2002-2003.
3. Для выполнения синхронизации баз данных в меню Сервис (Tools) выберите команды Репликация (Replication) , Синхронизация (Synchronize Now).
4. Базу данных можно создать различными способами, используя ссылки в разделах Создание (New) и Шаблоны в области задач Создание файла (New File) .
5. В базе данных Access могут использоваться три типа ключевых полей: счетчик, простой ключ и составной ключ.
6. Для создания таблицы в режиме конструктора в окне базы данных на панели Объекты (Objects) выберите значок Таблицы (Tables) и дважды щелкните значок Создание таблицы в режиме конструктора (Create table in design view) (см. рис. 23.2).
7. Проследить взаимосвязь между таблицами позволяет команда Схема данных (Relationships) в меню Сервис (Tools) или одноименная кнопка на панели инструментов в окне базы данных.
8. Чтобы экспортировать таблицу в другие приложения, например, Microsoft Word или Microsoft Excel, выберите команду Экспорт (Export) в меню Файл (File) .




Запуск Access и завершение работы с программой


Для завершения работы с приложением выберите команду Выход (Exit) в меню Файл (File) . Другие варианты запуска программы и завершения работы с ней рассмотрены в главе 1 в разделах «Различные способы запуска приложений Microsoft Office» и «Закрытие документа и выход из программы Microsoft Office».



Знакомимся с Microsoft Access 200З


В этой главе даны начальные сведения о системе управления базами данных (СУБД) Microsoft Access. Вы познакомитесь со следующими вопросами:

 назначение Access;

 создание базы данных и таблицы;

 ввод данных в таблицу, ее редактирование и форматирование;

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



Фильтр по выявленному фрагменту


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

С помощью фильтра можно также отобрать те записи, которые в данном поле не содержат выделенное значение. Для создания фильтра выделите значение, щелкните его правой кнопкой мыши и выберите команду Исключить выделенное (Filter Excluding Selection) . Применительно к рассмотренному выше примеру после проведения фильтрации с исключением выделенного в столбце Машины ВАЗ отобразятся записи обо всех моделях ВАЗ, за исключением ВАЗ 2109.

Команда Фильтр для (Filter for) позволяет ввести значение или выражение, которое будет служить критерием фильтрации при поиске. Для выполнения процесса фильтрации выберите в меню Записи (Records) команду Применить фильтр (Apply Filter, Sort) или нажмите кнопку Применить фильтр (Apply Filter) на панели инструментов.



Использование запросов для работы с данными


Использование запросов для работы с данными

Типы запросов

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

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

Выбор условий отбора записей в запросе

Запрос на обновление записей

Создание многотабличных запросов

Поиск и замена данных

Использование индексов

Выбор условий сортировки

Применение фильтра



Использование индексов


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

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

Для одной таблицы Access позволяет создать до 32 индексов, из которых пять могут быть составными. Составной индекс может включать до 10 полей. С увеличением количества индексов уменьшается скорость добавления новых записей, так как каждая новая запись требует добавления к ней индексов.



Использование вычисляемого поля


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

Например, если каждый заказ стоит 5 рублей и вы хотите вычислить стоимость всех заказов, сделанных каждым покупателем, то введите в ячейку Поле выражение: Стоимость:[Количество заказов]*5.



Использование запросов для работы с данными


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

 типы запросов и их создание;

 создание таблицы с помощью запроса;

 поиск и замена записи.

 применение сортировки и фильтра.



Оператор LIKE


Если вы не уверены в написании какого-либо слова, то можете использовать оператор LIKE и подстановочный знак. Напомним, что знак вопроса заменяет один символ, а звездочка * — группу символов. Например, выражение: LIKE П?Л выполняет поиск слов, начинающихся с буквы П. Выражение: LIKE выполняет поиск слов, пел, пал, пол и т.п.

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



Операторы


Оператор — это символ или слово, например, = или Оr, указывающие выполнение операции над одним или несколькими элементами. Операторы позволяют выполнять операции над элементами формулы. Access позволяет использовать различные типы операторов для вычислений на листе:

арифметические операторы — служат для выполнения арифметических операций над числами (таблица);

 операторы сравнения — используются для сравнения двух значений. Результатом сравнения может являться логическое значение: либо ИСТИНА, либо ЛОЖЬ;

 текстовый оператор конкатенации Амперсанд (&) — используется для объединения нескольких текстовых строк в одну строку;

 операторы ссылки — применяются для описания ссылок на диапазоны ячеек.

Запрос записей в определенном диапазоне значений может выполняться с использованием следующих операторов сравнения: = — равно; > — больше, чем; < — меньше, чем;

<> — не равно;

>= — больше или равно;

<= — меньше или равно.

Допустим, вас интересуют сотрудники, зарплата которых превышает 300 рублей. В строку Условия отбора (Criteria) введите: >300.

Как правило, операторы сравнения используются в числовых полях или полях дат, но они могут применяться и в текстовых полях. Например, если ввести в текстовое поле условие отбора < 'П', то будут выбраны значения поля, начинающиеся после буквы «П».



Печать отчета по манным, полученным в результате запроса


Таблицу, полученную по результатам запроса, можно напечатать, выбрав в меню Файл (File) команду Печать (Print). Рекомендуется сначала просмотреть отчет в окне Предварительный просмотр (Print Preview).



Поиск и замена данных


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

прокрутить таблицу или форму либо ввести номер нужной записи в поле номера записи (см. рис. 24.3);

 провести автоматизированный поиск конкретных записей или определенных значений в полях с помощью диалогового окна Найти и заменить (Find and Replace), которое отображается на экране после выбора команды Найти (Find) в меню Правка (Edit);

 временно изолировать с помощью фильтра и просмотреть определенный набор записей в таблице или открытой форме;

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



Поиск и замена значения в поле таблицы


Выберите объект в режиме таблицы или форму для поиска по всем полям во всех записях. Для ускорения поиска поставьте курсор в поле, по которому будет проводиться поиск, или в раскрывающемся списке Поиск в (Look in) выберите поле для поиска. Слово или фразу введите в поле Образец (Find What). Нажмите кнопку Найти далее (Find Next).

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

Раскрывающийся список Совпадение (Match) содержит три позиции, определяющих тип совпадений:


Рис. 24.14 Поиск информации в базе данных

 С любой частью поля (Part of Field) — производит поиск информации, часть которой совпадает с представленной в таблице, например, по образцу "ань" будут найдены города Казань, Рязань и т.п.

 Поля целиком (Whole Field) — искомая информация должна полностью совпадать с той, которая приведена в поле.

 С начала поля (Start of Field) — искомая информация должна быть представлена в начале поля, например, по образцу «нев» будет найдена Нева, а не Кишинев.

 Раскрывающийся список Просмотр (Search) — позволяет выбрать направление поиска: Вверх (к первой записи), Вниз (к последней записи) или Все (во всей таблице).

 Флажок С учетом регистра (Match Case) — задает поиск с учетом регистра символов при сравнении с образцом, заданным в поле Образец.

 Флажок С учетом формата полей (Search Fields As Formatted) — устанавливают для поиска данных в указанном формате отображения (например, дата, сохраненная в формате 05.01.92, может выводиться как 05-янв-92). Такой поиск является обычно самым медленным. Снимите флажок для поиска данных по их значению.

Если требуется заменить конкретные значения, обнаруженные при поиске, откройте вкладку Заменить (Replace). Более подробно операции поиска и замены описаны в главе 4.



Построитель выражений


Для отображения окна построителя выражений (рис. 24.12) выполните следующие действия:

 перейдите в режим конструктора запроса;

 в строке Условие отбора (Criteria) щелкните правой кнопкой мыши столбец, для которого необходимо задать критерии отбора, и выберите в контекстном меню команду Построить (Build) или нажмите одноименную кнопку на панели инструментов.


Рис. 24.12 Построитель выражений

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

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

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

Чтобы вывести полный список операторов, выберите папку Операторы в нижнем левом поле и нужный тип в среднем поле. В правом поле будут выведены все операторы выбранного типа. Возможен непосредственный ввод части выражения в верхнее поле.

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



Применение фильтра


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

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



Расширение условий отбора


Например, вы хотите узнать объем продаж дорогих (дороже 2500 руб.) и дешевых (меньше 500 руб.) заказов. Введите в ячейку Условия отбора (Criteria) : >2500, в ячейку или (or) <500. Условия, заданные в ячейке или, будут восприниматься как дополнительные.



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


На экране отобразится окно, рассмотренное в предыдущем разделе «Применение сортировки». В ячейку Условия отбора (Criteria) введите критерии, по которым будет производиться фильтрация. В качестве критерия можно использовать различные текстовые значения, например, Or, если вы хотите отобразить заказы стоимостью больше 1500 рублей (рис. 24.18), операторы равно «=», больше «>», меньше«<», не равно «0», даты, например, вы можете выбрать заказы, полученные на последний день каждого месяца.

Для поиска записей, имеющих в конкретном поле пустые или непустые значения, введите в это поле выражение Is Null или Is Not Null. (Эти значения можно выбрать из списка в полях, имеющих тип «поле MEMO», «поле объекта OLE» или «Гиперссылка», и в вычисляемых полях в запросах.)


Рис. 24.18 Окно, позволяющее выполнить фильтрацию с определенным условием отбора

Для выполнения фильтрации выберите команду Применить фильтр (Apply Filter)) в меню Записи (Records). Фильтры сохраняются автоматически при сохранении таблицы или формы. Таким образом, при повторном открытии таблицы или формы можно снова применить сохраненный фильтр. При сохранении запроса фильтр сохраняется автоматически, но условие фильтра не добавляется к содержимому бланка запроса. При повторном открытии запроса можно снова применить сохраненный фильтр. После окончания работы с фильтром для отображения всей таблицы выберите в меню Записи (Records) команду Удалить фильтр (Remove Filter, Sort) или выключить на панели инструментов кнопку Применить фильтр (Apply Filter) .



Редактирование запроса в режиме конструктора


Режим конструктора позволяет не только создать новый запрос, но и редактировать существующий. В этом режиме можно добавлять поля, задавать порядок сортировки и условия отбора. Чтобы открыть запрос в режиме конструктора, перейдите в окно базы данных, на панели Объекты (Objects) выберите значок Запросы (Queries), выделите нужный запрос в правой части окна и нажмите кнопку Конструктор (Design View) на панели инструментов (рис. 24.4). Если запрос уже открыт, то для перехода в режим конструктора в меню Вид (View) выберите команду Конструктор (Design View ) или нажмите кнопку Вид (View) на панели инструментов.

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

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



Сортировка по нескольким полям одновременно


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

Для сортировки данных в таблице по нескольким полям выберите в меню Записи (Records) команду Фильтр (Filter), Расширенный фильтр (Advanced Filter, Sort) . На экране отобразится окно, в верхней части которого отображен список всех полей таблицы (рис. 24.17). Это окно используется для выбора полей, по которым будет выполняться сортировка. Можно перетащить мышью названия полей из списка в строку Поле (Field). Названия полей, по которым будет производиться сортировка, можно выбрать в строке Поле (Field ) из раскрывающегося списка. (Подробнее работа с окном списка рассмотрена ранее в разделе «Создание запроса» настоящей главы.)


Рис. 24.17 Окно, позволяющее выполнить сортировку по нескольким полям одновременно

В Access сначала сортируются записи, расположенные в самом левом столбце, затем в следующем столбце справа и т.д. Условия сортировки: по возрастанию, по убыванию и т.д. задаются в строке Сортировка (Sort).

После задания условий сортировки выберите в меню Фильтр (Filter) команду Применить фильтр (Apply Filter). Для отображения не отсортированной таблицы выберите в меню Записи (Records) команду Удалить фильтр (Remove Filter, Sort) . Если фильтр создается в форме или таблице, в которой уже есть фильтр, оставшийся от предыдущего сеанса работы, то новый фильтр замещает его.



Создание многотабличных запросов


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

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

В верхней части макета видны линии связи между таблицами, а в нижней части на бланке запроса — имена таблиц и полей (рис. 24.13).


Рис. 24.13 Многотабличный запрос



Создание простого запроса с помощью мастера


Для открытия окна мастера запроса в окне базы данных на панели Объекты (Objects) выберите значок Запросы (Queries) и дважды щелкните значок Создание запроса с помощью мастера (Create Query By Using Wizard) (см. рис. 24.1). Другой способ отображения мастера запроса описан ниже в разделе «Создание многотабличных запросов».

В окне Создание простых запросов (Simple Query Wizard) в раскрывающемся списке Таблицы и запросы (Table/Query) выберите таблицы и запросы, поля которых будут использоваться в запросе (рис. 24.4). В списке Доступные поля (Available Fields) дважды щелкните имена используемых в запросе полей. Эти поля переместятся в список Выбранные поля (Selected Fields) . Нажмите кнопку Далее (Next) .


Рис. 24.4 Окно мастера создания простых запросов

При создании запроса по нескольким таблицам во втором окне положением переключателя вам надо выбрать подробный (вывод каждого поля каждой записи) (Detail (shows every field of every record)) или итоговый (Summary ) запрос (рис. 24.5). Итоговые запросы содержат поля, по которым группируются данные, и числовые поля, по которым определяют, например, суммарное, среднее, максимальное или минимальное значение. В итоговом запросе можно произвести подсчет количества записей в группе (Count records in). Для добавления вычислений в результаты запроса нажмите кнопку Итоги (Summary Options) и выберите нужные поля или установите флажок Подсчет числа записей в Итоги (Count records in Quarterly Orders by Product).


Рис. 24.5 Выбор типа создаваемого отчета

В следующем окне мастера вам будет предложено дать имя запросу и положением переключателя определить дальнейшие действия: Открыть запрос для просмотра данных (Open The Query To View Information) или Изменить макет запроса (Modify the query design). После того как вы нажмете кнопку Готово (Finish) , откроется запрос в режиме таблицы.



Создание составного индекса


Для создания составного индекса откройте таблицу в режиме конструктора и на панели инструментов Конструктор таблиц нажмите кнопку Индексы (Indexes) . Откроется окно Индексы, содержащее информацию обо всех индексах таблицы. На рис. 24.16 это окно показано для таблицы Заказано. В первой пустой строке столбца Индекс (Index Name) введите имя индекса. Для этой строки, можно использовать либо имя одного из индексируемых полей, либо другое подходящее имя.


Рис. 24.16 Создание составного индекса

В столбце Имя поля (Field Name) нажмите кнопку раскрытия списка и выберите первое поле, для которого необходимо создать индекс. В следующей строке столбца Имя поля (Field Name) укажите второе индексируемое поле. Оставьте пустым для этой строки поле Индекс (Index Name). Повторите эти действия для всех полей, которые необходимо включить в индекс/Допускается использовать до 10 полей.

В верхней части окна индексов выберите новое имя индекса. В нижней части окна индексов в ячейке Уникальный индекс (Unique) выберите значение Да .

Отметим, что после создания индекса по умолчанию будет использоваться порядок сортировки По возрастанию (Ascending). Чтобы сортировать некоторые поля по убыванию, установите для этих полей в столбце Порядок сортировки (Sort Order) значение По убыванию (Descending).



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


Чтобы создать таблицу с помощью запроса, откройте ранее созданный запрос в режиме конструктора. Для этого в окне базы данных щелкните значок Запросы (Query) в списке Объекты (Objects), выберите нужный запрос и нажмите кнопку Конструктор (Design) на панели инструментов окна базы данных. Выберите в меню Запрос (Query) команду Создание таблицы (Make Table Query) или щелкните на панели инструментов в раскрывающемся списке кнопки Тип запроса (Query Type) строку Создание таблицы. (Make Table).

В диалоговом окне Создание таблицы. (Make Table) заполните поле имя таблицы (Table Name) (рис. 24.9). Положением переключателя укажите, где будет находиться создаваемая таблица: в текущей базе данных (Current Database) или в другой базе данных (Another Database). Если таблица будет находиться в текущей базе данных, то ее можно выбрать в раскрывающемся списке, если в другой базе данных, то в поле имя файла (File Name) введите полное имя файла базы данных в формате: «полное имя файла» «имя базы данных», например, «C:\Data\Sales» «Paradox».


Рис. 24.9 Создание таблицы с помощью запроса

Нажмите кнопку OK и закройте запрос, нажав кнопку закрытия окна. На экране отобразится окно с вопросом: «Сохранить изменения макета или структуры объекта . ?)». Нажмите кнопку Да (Yes). В окне со списком запросов перед именем созданного запроса появится восклицательный знак.

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


Рис. 24.10 Предложение подтвердить запрос на создание таблицы



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


Запрос можно создать с помощью мастера или в режиме конструктора. Как обычно, наиболее простой способ построения запроса предусматривает использование мастера. Режим конструктора (Query Design) позволяет задавать не только условия выбора данных, но и порядок сортировки. Запросы сохраняются как отдельные объекты и отображаются в окне базы данных.



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


Создание запроса в режиме конструктора предоставляет большие возможности по сравнению с мастером простого запроса.

В диалоговом окне Новый запрос (New Query) выберите в списке в правой части окна элемент Конструктор (Design View) и нажмите кнопку OK (рис. 24.6). На экране отобразится окно запроса в режиме конструктора и диалоговое окно Добавление таблицы (Show Table) (рис. 24.7), которое позволяет выбрать, по каким таблицам и запросам или их комбинации будет создан новый запрос. Окно запроса разделено посредине по горизонтали. В верхней части окна отображены списки доступных в запросе полей всех таблиц, в нижней — спецификация запросов. Каждый столбец отображает поле, используемое для выделения тех записей, которые будут включены в запрос.


Рис. 24.6 Выбор метода создания запроса


Рис. 24.7 Выбор таблицы, для которой будет составлен запрос

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

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


Рис. 24.8 Окно структуры запроса: 1 — список полей, 2 — бланк запроса

В тех случаях, когда вас интересуют записи, отвечающих определенному условию, например, фамилии клиентов, сделавших заказ дороже определенной суммы, применяют запрос по образцу. При создании запроса вы даете, как бы образец (QBE, query by example — запрос по образцу ), по которому будет составлен ответ или выполнены операции. Поэтому в более версиях Access использовался термин бланк запроса по образцу (QBE).


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

в строке Поле (Field) поставить курсор в нужный столбец и дважды щелкнуть имя поля в списке. Нажать клавишу стрелка-вправо или клавишу Tab, переместить курсор в следующий столбец и добавить новое поле в запрос;

 щелкнуть на кнопке раскрытия списка около правой границы ячейки в строке Поле (Field) или нажать клавишу F4, чтобы открыть список имен полей и выбрать требуемое поле;

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

Поле. Если выбрать в первой строке звездочку «*», то это означает, что в ответе должны быть представлены все столбцы таблицы.

Для выполнения сортировки результатов запроса по какому-нибудь полю переместите курсор в строку Сортировка (Sort) этого поля и нажмите клавишу F4, для отображения вариантов сортировки: по возрастанию (Ascending), пo убыванию (Descending) или отсутствует (not sorted). Более подробно выбор условий сортировки дальше в этой главе.

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

Если вы хотите использовать текстовой критерий отбора, то введите необходимый текст в строку Условие отбора (Criteria). Например, введите в эту строку слово фрукты для выяснения, на какую сумму продан именно этот товар. После нажатия клавиши Enter слово будет помещено в кавычки. Для каждого поля, которое предполагается использовать как параметр, введите в ячейку строки Условие отбора (Criteria) текст приглашения, заключенный в квадратные скобки.Это приглашение будет выводиться при запуске запроса. Текст приглашения должен отличаться от имени поля, но может включать его.

При желании пользователь может изменить или уточнить запрос, построить по результатам запроса графики. Более подробно выбор условий отбора записей в запросе рассмотрен ниже.


Сознание индекса для одного поля


Создание индекса для одного поля покажем на примере таблицы «Товары». Откройте ее в режиме конструктора. В верхней части окна нажмите кнопку выделения поля, для которого необходимо создать индекс (рис. 24.15). В нижней части окна на вкладке Общие (General) выделите ячейку Индексированное поле (Indexed) и установите значение Да (Допускаются совпадения) (Yes (Duplicates OK)) , если допускает дублирование данных для выбранного поля. Значение Да (Совпадения не допускаются) (Yes (No Duplicates OK)) не допускает совпадения ни для каких двух записей значения этого поля.


Рис. 24.15 Выбор свойства индексированного поля



Типы запросов


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

Назначение запросов:

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

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

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

 создание новой таблицы на основе данных, полученных из существующих таблиц;

 обновление, добавление и удаление записей таблицах;

 выполнение вычислений над значениями полей. В Access различают следующие типы запросов:

 запрос на выборку данных (Select query) — позволяет извлечь данные из одной или нескольких таблиц согласно заданному критерию и отобразить их в новой таблице;

 перекрестный запрос (Crosstab query) — суммирует в электронной таблице данные из одной или нескольких таблиц. Они используются для анализа данных, создания диаграмм;

 запрос с параметрами (Parameter query) — позволяет извлечь данные из одной или нескольких таблиц согласно одному или нескольким параметрам. Например, для поля, в котором отображаются даты, можно ввести приглашения следующего вида «Введите начальную дату:» и «Введите конечную дату», чтобы задать границы диапазона значений;

 запрос на изменение (Action query) — создают новые таблицы из запросов. Они позволяют включить новые записи или удалить старые, внести в них изменения с помощью выражений, встроенных в запрос;

 запрос SQL (SQL query) — основан на инструкциях SQL (Structured Query Language — язык структурированных запросов). Язык SQL является стандартом для большинства СУБД. В формате SQL в базе данных хранятся все запросы.

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

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


Рис. 24.1 Окно базы данных после . выбора значка Запросы на панели Объекты

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


Рис. 24.2 Окно для ввода начальной даты отбора данные

Запрос можно открыть в режиме таблицы (рис. 24.3) или в режиме конструктора (рис. 24.8).


Рис. 24.3 Отображение запроса на выборку в режиме таблицы



В окне учебной базы данных



1. В окне учебной базы данных Борей выберите таблицу Клиенты и проведите фильтрацию по выделенному значению в поле Должность. Упражнение можно выполнить следующим образом:
в окне базы данных на вертикально расположенной панели Объекты (Objects) выделите значок Таблицы (Tables) (см. рис. 24.1), в списке таблиц дважды щелкните Клиенты и просмотрите данные по клиентам;
 выберите в меню Вид (View) команду Режим таблицы (Datasheet View) ;
 с помощью горизонтальной полосы прокрутки перейдите к полю Должность и выделите в нем значение Бухгалтер;
 выделите в меню Записи (Records) команду Фильтр (Filter), Фильтр по выделенному (Filter by Selection) .
2. В окне учебной базы данных Борей проведите сортировку записей по полю Город. Упражнение можно выполнить следующим образом:
в окне базы данных на вертикально расположенной панели Объекты (Objects) выделите значок Таблицы (см. рис. 24.1), в списке таблиц дважды щелкните Клиенты;
 выделите столбец Город, щелчком мыши в области выделения столбца. Обратите внимание, что когда указатель мыши находится в области выделения столбца, он принимает вид жирной стрелки, направленной вниз;
 на панели инструментов нажмите кнопку Сортировать по возрастанию (Sort Ascending).

Выбор условий отбора записей в запросе


В Access предусмотрено большое количество вариантов отбора записей из базы данных. Разберем некоторые широко распространенные условия отбора записей, используемые в запросе.



Выбор условий сортировки


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

Записи можно сортировать в режиме таблицы или в режиме формы. Более наглядно результаты сортировки отображаются в режиме таблицы. Если вы попытаетесь закрыть таблицу после сортировки, то появится запрос: «Сохранить изменения макета или структуры таблицы (Do you want to save changes to the design of query)» После закрытия формы измененный порядок сохраняется автоматически.

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



Выполнение групповых операций


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

 в запросной форме в строке Вывод на экран (Show) поставьте флажки в полях: Тип и Цена, которое будет использоваться для вычислений;

 выберите в меню Вид (View) команду Групповые операции (Totals) или jm-жмите одноименную кнопку на панели инструментов;

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

 в меню Запрос (Query) выберите команду Запуск (Run).

С помощью запроса могут быть подсчитаны сумма (Sum) и среднее арифметическое (Avg), найдены минимальное (Min) и максимальное (Max) значения в поле. Закончив работу с запросом, можно сохранить его под каким-нибудь именем.


Рис. 24.11 Составление запроса с использованием групповой операции



Выполнение стандартных вычислений нал значениями поля


Одним из широко распространенных методов анализа табличных данных является использование следующих итоговых функций для полей с числовыми данными:

Sum — вычисление суммы значений поля;

 Avg — определение среднего значения поля;

 Min — нахождение минимального значения поля;

 Мах — нахождение максимального значения поля;

 Count — подсчет количества записей поля (может применяться для всех полей);

 StDav — расчет стандартного отклонения поля;

 Var — расчет изменения значений поля.



в окне базы данных на



1. Для просмотра результатов запроса в окне базы данных на вертикально расположенной панели Объекты (Objects) выберите значок Запросы (Queries) и дважды щелкните имя запроса в списке (см. рис. 24.1).
2. Любые изменения в запрос следует вносить в режиме конструктора. Чтобы создать запрос в режиме конструктора на вертикально расположенной панели Объекты (Objects) выберите значок Запросы (Queries) (см. рис. 24.1) и нажмите кнопку Создать (New) на панели инструментов.
3. Для расширения условий отбора можно использовать строку или (or ) в бланке запроса.
4. При составлении запроса с использованием вычисляемого поля введите в ячейку Поле бланка запроса имя столбца, в котором будут представлены результаты вычислений, и после двоеточия выражение в квадратных скобках.
5. Для упрощения процесса добавления в запрос функций, констант, операторов и общих выражений можно использовать Построитель выражений (Expression Builder).
6. Для изменения группы записей с помощью запроса на обновление откройте запрос в режиме конструктора (см. выше раздел «Создание и запуск запроса») и выберите в меню Запрос (Query) команду Обновление (Update Query) или нажмите стрелку рядом с кнопкой Тип запроса на панели инструментов и выберите команду Обновление.
7. Для поиска значения в поле выберите команды Найти (Find) в меню Правка (Edit) (см. рис. 24.14). Для ускорения поиска поставьте курсор в поле, по которому будет проводиться поиск. Нажмите кнопку Найти далее (Find Next).
8. Для создания сложных фильтров выберите в меню Записи (Records) команду Фильтр (Filter), Расширенный фильтр (Advanced Filter/Sort).




Запрос на обновление записей


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

Название окна запроса изменится на запрос на обновление (Update Query) . Перетащите из списка полей в бланк запроса поля, которые нужно обновить или которые должны использоваться в условиях отбора. Задайте условие отбора в ячейке Условие отбора (Criteria).

Названия полей заключите в квадратные скобки. Для полей, которые необходимо обновить, введите в ячейку Обновление (Update To) выражение или значение, которое должно быть использовано для изменения полей. Чтобы просмотреть список записей, которые будут обновлены, нажмите кнопку Вид на панели инструментов. Выводимый список не будет содержать новых значений. Для возврата в режим конструктора запроса снова нажмите кнопку Вид на панели инструментов. Завершите создание запроса в режиме конструктора. Нажмите кнопку Запуск на панели инструментов, чтобы обновить записи.



Запуск запроса


В режиме конструктора запрос можно запустить следующими способами:

 выбрать в меню Запрос (Query) команду Запуск (Run);

 нажать кнопку Запуск (Run) на панели инструментов.

Результаты ответа на запрос будут представлены в таблице. Чтобы прервать запуск запроса, нажмите клавиши Ctrl+Break.