Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Иллюстрированный самоучитель по Access 2002.doc
Скачиваний:
129
Добавлен:
16.11.2019
Размер:
2.91 Mб
Скачать

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

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

Навигация по таблице

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

Рис. 2.31. Кнопки навигации в окне таблицы

Таблица 2.13. Кнопки перемещения по записям таблицы

Кнопка

Описание

|<

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

<

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

>

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

>|

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

>*

Создание новой записи

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

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

Таблица 2.14. Навигация по таблице с помощью клавиш

Сочетания клавиш

Действие

<F5>

Переход в поле номера записи

<Tab>, <Enter> или <?>

Переход к следующему полю

<End>

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

<Shift> + <Tat> или <<>

Переход к предыдущему полю

<Home>

Переход к первому полю в текущей записи в режиме перемещения

<v>

Переход к текущему полю в следующей записи

<Ctrl>+<v>

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

<Ctrl>+<END>

Переход к последнему полю в последней записи

<^>

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

<ctrl>+<^>

Переход к текущему полю в первой записи

<Ctrl>+<Home>

Переход к первому полю в первой записи

<Page Down>

На один экран вниз

<Page Up>

На один экран вверх

<Ctrl>+<Page Down>

На один экран вправо

<Ctrl>+<Page Up>

На один экран влево

Рис. 2.32. Выбор панели инструментов Формат (режим таблицы)

Рис. 2.33. Список полей на панели инструментов Формат (режим таблицы)

Перемещение в режиме Таблицы по полям в длинных записях можно осуществлять с помощью поля со списком Перейти к полю (Go to Field) панели инструментов Формат (режим таблицы) (Formatting (Datasheet)). Чтобы отобразить на экране эту панель инструментов:

  1. В главном меню выберите команду Вид, Панели инструментов (View, Toolbars).

  2. Установите флажок для панели Формат (режим таблицы) (Formatting (Datasheet)) (рис. 2.32).

Поле со списком Переход к полю (Go to Field) расположено слева на панели инструментов Формат (режим таблицы) (Formatting (Datasheet)). Для перехода на нужное поле в текущей записи необходимо выбрать в раскрывающемся списке его имя (рис. 2.33). Остальные элементы панели форматирования можно использовать для изменения шрифта, цвета, линий сетки в текущей таблице.

Работа с записями

Рассмотрим работу с записями в режиме Таблицы. Существуют три операции с записями: добавление записи, изменение записи и удаление записи. Чтобы добавить в таблицу новую запись, необходимо нажать кнопку Новая запись (New Record) на панели инструментов Таблица (Table Datasheet), а затем ввести данные в поля новой записи. Возможно также использование одного из следующих вариантов добавления записи в таблицу.

  • Нажать кнопку добавления новой записи >* в нижней части окна таблицы.

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

  • Выбрать в главном меню команду Вставка, Новая запись (Insert, New Record).

  • Щелкнуть правой кнопкой мыши на области выделения и из контекстного меню выбрать команду Новая запись (New Record).

Замечание

Microsoft Access сохраняет изменения в полях текущей записи при переходе к другой записи.

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

Замечание

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

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

  1. Выделить одну или несколько записей для копирования или перемещения.

Замечание

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

  1. Для того чтобы скопировать записи — нажать на панели инструментов кнопку Копировать (Сору).

  2. Для того чтобы переместить записи — нажать на панели инструментов кнопку Вырезать (Cut).

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

  4. Для замены существующих записей копируемыми — выделить заменяемые записи и нажать на панели инструментов кнопку Вставить (Paste).

  5. Для добавления записей в конец таблицы — выбрать в меню Правка (Edit) команду Добавить из буфера (Paste Append).

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

Удалить запись можно тоже несколькими способами. Сначала нужно в любом случае выделить запись, а затем выполнить одно из следующих действий:

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

  • Щелкнуть правой кнопкой мыши на области выделения удаляемых записей и из контекстного меню выбрать команду Удалить запись (Delete Record).

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

  • Нажать клавишу Удалить (Delete).

При удалении записей Access запрашивает подтверждение, чтобы предотвратить случайное удаление (рис. 2.34).

Рис. 2.34. Диалоговое окно подтверждения удаляемых записей

Замечание

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

Контроль и проверка введенных данных

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

  • условия на значение поля;

  • условия на значения записи.

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

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

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

  2. В верхней части окна выбрать нужное поле.

  3. Открыть на панели свойств поля вкладку Общие (General) и выбрать свойство Условие на значение (Validation Rule), а затем ввести необходимое условие. Задать условие на значение можно при помощи Построителя выражений (рис. 2.35), нажав на кнопку Построителя справа. Выражения, используемые в условиях, возвращают значения Истина (True), и в этом случае данные корректны, или Ложь (False) — данные некорректны. Одним из самых простых выражений, которое может встретиться в условии, является > 0, т. е. в поле могут вводиться только положительные числа. Для ввода более сложных выражений нужно знать правила построения выражений в Access. Эти правила, а также правила пользования Построителем выражений, подробно изложены в разд. "Создание выражений с помощью Построителя выражений" гл. 4.

  4. Выбрать свойство Сообщение об ошибке (Validation Text) и ввести сообщение, которое будет выводиться на экран, если данные не соответствуют заданному условию.

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

Замечание

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

Рис. 2.35. Применение Построителя выражений при задании свойства Условие на значение

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

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

  2. Нажать на панели инструментов Конструктор таблиц (Table Design) кнопку Свойства (Properties) или, щелкнув правой кнопкой мыши по заголовку таблицы, выбрать из контекстного меню команду Свойства (Properties). Откроется диалоговое окно Свойства таблицы (Table Properties).

  3. Третья строка в этом окне — Условие на значение (Validation Rule), которое позволяет ввести выражение для условия на значение записи. Например, в таблице "Заказы" (Orders) нужно указать, что дата исполнения заказа должна быть больше, чем дата размещения. Если воспользоваться Построителем выражений, то видно, что в окне Построителя появилась папка Заказы, а рядом — список полей таблицы "Заказы" (Orders) (рис. 2.36).

Рис. 2.36. Ввод условия с помощью Построителя выражений

Выделите в списке значение ДатаИсполнения и нажмите на кнопку Вставить (Paste) или просто дважды щелкните мышью по этому элементу. В верхнем поле окна Построителя появится имя поля в квадратных скобках. Нажмите кнопку >. Аналогичным способом выберите из списка элемент ДатаРазмещения. В результате в верхнем поле появится выражение [ДатаРазмещения] > [ДатаИсполнения]. Нажмите кнопку ОК.

Замечание

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

  1. Выбрать свойство Сообщение об ошибке (Validation Text) и ввести сообщение, которое будет выдаваться на экран, если данные не соответствуют указанному условию.

Замечание

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

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

Значение поля может оказаться недопустимым по следующим причинам.

  • Значение несовместимо с типом данных поля (например, в числовых и текстовых полях или в поле даты). Если введено значение, не соответствующее типу данных поля, Microsoft Access пытается преобразовать его в правильный тип данных. Однако некоторые данные нельзя преобразовать в данные другого типа. Например, нельзя хранить текстовое значение в числовом поле.

  • Данные нарушают условие на значение, заданное в свойстве Условие на значение (Validation Rule) этого поля.

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

Данные проверяются также при переходе на другую запись. Перед сохранением записи Microsoft Access проверяет все условия, заданные в свойстве Условие на значение (Validation Rule) записи. Кроме того, если таблица, в которую вносятся изменения, имеет ключ или уникальный индекс, то проверяется, что изменяемая запись не содержит в этом поле или полях значений, совпадающих со значениями в других записях таблицы. Если запись нельзя сохранить, необходимо внести требуемые изменения или нажать кнопку Отменить (Undo) для отмены всех изменений, внесенных в запись.

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

  1. Выбрать записи, столбцы, поля или часть текста поля, в которых требуется проверить орфографию.

  2. Нажать на кнопку Орфография (Spelling) на панели инструментов.

Кроме проверки орфографии, в Microsoft Access возможно автоматическое исправление орфографических ошибок при вводе данных. Для этого служит режим Автозамены (AutoCorrect), который позволяет автоматически исправлять слова, при вводе которых часто допускаются ошибки, а также автоматически заменять сокращения полными значениями. То есть можно ввести аббревиатуру, а Автозамена сама подставит расшифрованное наименование в поле. Чтобы включить режим Автозамены (AutoCorrect) необходимо:

  1. Выбрать в меню Сервис (Tools) команду Параметры автозамены (AutoCorrect Options) (рис. 2.37).

  2. Установить флажок Заменять при вводе (Replace text as you type).

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

  4. В поле на (With) ввести текст, который подставляется вместо образца.

  5. Нажать кнопку Добавить (Add).

Рис. 2.37. Диалоговое окно Автозамена

Замечание

Текст, введенный до установки флажка Заменять при вводе (Replace text as you type), исправлен не будет.

Ввод данных с помощью копирования и перемещения

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

Замечание

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

Для удобства использования буфер обмена в Microsoft Office 2002 расширен и позволяет включать в себя до 24 скопированных элементов. Чтобы воспользоваться возможностями нового буфера обмена, необходимо в меню Вид (View) выбрать команду Панели инструментов (Toolbars) и установить флажок Область задач (Task Pane). На экране справа появится панель инструментов. Щелкнув по кнопке выбора на заголовке этой панели, выберите из выпадающего меню пункт Буфер обмена (Clipboard) (рис. 2.39).

Рис. 2.38. Выделение диапазона ячеек в таблице

Рис. 2.39. Буфер обмена

При копировании или вырезании информации на панели буфера обмена будет появляться очередной значок, обозначающий скопированные данные, а также начальные литеры, если был скопирован текст, или уменьшенное изображение, если был скопирован рисунок. Общее количество блоков скопированной информации не превышает 24. При копировании 25-го элемента будет произведено удаление первого вставленного элемента. Порядок замещения блоков информации в буфере обмена организован по принципу очереди FIFO (First In First Out — "первый пришел, первый ушел").

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

  • Вставить (Paste) — вставить данный блок в текст;

  • Удалить (Delete) — удалить данный блок из буфера обмена.

Чтобы вставить все скопированные блоки, необходимо нажать кнопку Вставить все (Paste All) на панели инструментов Буфер обмена (Clipboard). Чтобы удалить из буфера обмена всю информацию, необходимо нажать кнопку Очистить все (Clear All) на той же панели.

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

  • Автоматическое отображение буфера обмена Office (Show Office Clipboard Automatically) — автоматически показывать буфер обмена во время копирования;

  • Собирать данные без автоматического отображения буфера обмена Office (Collect Without Show Office Clipboard) — автоматически копировать объекты в буфер обмена без его отображения;

  • Показать значок буфера обмена Office на панели задач (Show Office Clipboard Icon on Taskbar) — поместить значок буфера обмена на панель задач операционной системы;

  • Показывать состояние около панели задач при копировании (Show Status Near Taskbar When Copying) — выдавать сообщение о состоянии буфера обмена рядом со значком на панели задач при копировании в него элемента.

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

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

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

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

  • список лостоянных значений, которые вводятся при создании поля.

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

Чтобы создать поле со списком подстановок или списком значений в режиме Конструктора, необходимо воспользоваться Мастером подстановок (Lookup Wizard), выбрав его в столбце Тип данных (Data Type) или определив параметры списка на вкладке свойств Подстановка (Lookup) (см. разд. "Использование Мастера подстановок" ранее в этой главе).

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

  1. Поместить указатель мыши в любую ячейку столбца, перед которым требуется вставить поле, и выбрать в меню Вставка (Insert) команду Поле подстановок (Lookup Column).

  2. Следовать инструкциям Мастера подстановок.

После завершения работы Мастера подстановок в таблицу будет добавлено поле со списком подстановок.

Когда таблица открыта в режиме Таблицы, поле со списком ничем не отличается от обычного текстового поля. Но когда курсор попадает в это поле, справа появляется кнопка со стрелкой. Если нажать эту кнопку, откроется список, как это показано на рис. 2.40. Для ввода значения в поле нужно просто выбрать это значение в списке.

Рис. 2.40. Поле со списком в режиме Таблицы

 Отображение подчиненных таблиц

В Microsoft Access 2002 присутствует возможность отображения нескольких связанных таблиц в окне главной таблицы. Рассмотрим возможности отображения на примере таблиц "Типы" (Categories), "Товары" (Products) и "Заказано" (Order Details) базы данных "Борей". На рис. 2.41 изображена схема данных указанной базы. На схеме видно, что таблицы "Типы" (Categories) и "Товары" (Products) связаны отношением "один-ко-многим", т. е. одной записи в таблице "Типы" (Categories) может соответствовать множество записей таблицы "Товары" (Products). Таблица "Товары" (Products) связана с таблицей "Заказано" (Order Details) тоже отношением "один-ко-многим".

Рис. 2.41. Схема данных базы

На рис. 2.42 представлена таблица "Типы" (Categories), которая имеет подчиненную таблицу "Товары" (Products). В данном случае между областью выделения и первым столбцом таблицы существует узкий столбец, в котором для каждой записи отображается значок плюс (+). Если щелкнуть на нем левой кнопкой мыши, откроется часть подчиненной таблицы, содержащая только те записи, которые связаны с записью в главной таблице. Значок плюс при этом меняется на минус.

Изображение окна с таблицей, имеющей подчиненные таблицы, представлено на рис. 2.43. В данном случае на экран выводятся записи таблицы "Типы" (Categories) и для записей 1 и 2 открыты окна подчиненных таблиц. В окне подчиненной таблицы отображаются только те записи, которые соответствуют данной записи основной таблицы ("Типы" (Categories)). В свою очередь в окне подчиненной таблицы можно также открыть вложенное окно для следующей подчиненной таблицы. В данном случае это таблица "Заказано" (OrderDetails).

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

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

Рис. 2.42. Представление данных для таблиц, имеющих подчиненные таблицы

Рис. 2.43. Отображение подчиненных таблиц