Редактирование данных в режиме таблицы

Заполнение пустой таблицы

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

Чтобы заполнить таблицу, выполните следующие действия.

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

Например, вы собираетесь создать таблицу Товары с полями Код, Наименование, Описание и Цена. Поскольку поле Код заполняется автоматически, введите наименование первого товара.

2. После ввода значения нажмите клавишу Enter. Access автоматически выполнит ряд действий:

1) создаст поле, в которое введено значение, и присвоит этому полю название по умолчанию Поле1;

2) автоматически выберет тип данных поля (если введены буквы – это будет тип Текстовый, если цифры – тип Числовой, если число, месяц и год – тип Дата/время);

3) переместит курсор в следующее поле записи.

3. Введите значение следующего поля и нажмите клавишу Enter. Введите таким образом значения всех полей первой записи.

4. После ввода значения последнего поля в первой записи нажмите клавишу Enter несколько раз, пока курсор не перейдет на следующую запись в поле Поле1.

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

5. При необходимости внесите изменения в названия полей и типы данных.

6. Если таблица еще не была сохранена, нажмите сочетание клавиш Ctrl+S. При первом сохранении таблицы программа Access предложит ввести название таблицы. После первого сохранения все изменения, выполняемые в режиме таблицы (добавление, удаление, переименование полей; добавление, удаление, редактирование записей), будут сохраняться автоматически.

Добавление записи

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

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

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

Справа от редактируемой записи отображается значок Редактирование данных в режиме таблицы - student2.ru

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

При вводе значений в поля записи имеется ряд ограничений.

• Если вводимое значение не соответствует типу данных поля, Access предложит вам изменить значение либо преобразовать тип данных для этого поля.

• Если в таблице есть обязательные поля, то программа Access предложит вам ввести значения в эти поля.

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

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

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

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

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

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

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

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

Если значение поля было изменено ошибочно, для возврата прежнего значения сразу же нажмите сочетание клавиш Ctrl+Z.

Справа от редактируемой записи виден значок Редактирование данных в режиме таблицы - student2.ru

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

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

Удаление записи

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

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

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

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

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

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

Добавление столбца

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

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

Переименование столбца

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

Перемещение столбца

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

Изменение свойств столбца

Некоторые свойства поля вы можете изменить и без перехода в режим конструктора. Щелкните кнопкой мыши в любой ячейке столбца и откройте на ленте вкладку Режим таблицы. С помощью группы команд Форматирование и Тип данных (рис. 2.4) вы можете изменить следующие свойства поля:

Редактирование данных в режиме таблицы - student2.ru

Рис. 2.4. Группа команд Форматирование и тип данных вкладки Режим таблицы

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

· Формат отображения данных.Для полей с типом данных Числовой, Дата/Время, Денежный и Логический вы можете выбрать из списка формат представления данных. Кроме того, для типов данных Числовой и Денежный можно использовать кнопки для быстрого применения формата:

Редактирование данных в режиме таблицы - student2.ru – установка денежного формата;
Редактирование данных в режиме таблицы - student2.ru – установка процентного формата;
Редактирование данных в режиме таблицы - student2.ru – установка формата c разделителями;
Редактирование данных в режиме таблицы - student2.ru и Редактирование данных в режиме таблицы - student2.ru – соответственно, увеличение и уменьшение количества отображаемых десятичных знаков в дробной части числа.

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

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

Удаление столбца

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

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

Примечание:

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

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

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

Существует три вида связей между таблицами. Вид создаваемой связи зависит от того, как заданы связанные столбцы.

Связи "один ко многим"

Связь "один ко многим" - наиболее распространенный вид связи. При такой связи каждой строке таблицы А может соответствовать множество строк таблицы В, однако каждой строке таблицы В может соответствовать только одна строка таблицы А.

Редактирование данных в режиме таблицы - student2.ru Редактирование данных в режиме таблицы - student2.ru

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

В Microsoft Access сторона связи "один ко многим", которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, обозначается символом бесконечности.

Связи "многие ко многим"

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

Редактирование данных в режиме таблицы - student2.ru Редактирование данных в режиме таблицы - student2.ru

Связи "один к одному"

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

Редактирование данных в режиме таблицы - student2.ru Редактирование данных в режиме таблицы - student2.ru

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

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

• Чтобы изолировать часть таблицы по соображениям безопасности.

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

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

В Microsoft Access сторона связи "один к одному", которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, также обозначается символом ключа.

Просмотр связей между таблицами

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

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

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

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

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

На вкладке Файл нажмите кнопку Открыть.

1. В диалоговом окне Открытие файла базы данных выберите и откройте базу данных.

2. На вкладке Работа с базами данных в группе Схема данных щелкните элемент Схема данных.

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

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

4. Выберите одну или несколько таблиц или запросов и нажмите кнопку Добавить. Чтобы связать таблицу с самой собой, добавьте ее два раза. По завершении добавления таблиц и запросов в окно Схема данных нажмите кнопку Закрыть.

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

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

6. Чтобы обеспечить для этой связи целостность данных, установите флажок Обеспечение целостности данных.

7. Нажмите кнопку Создать.

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

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

Создание связей "многие ко многим"

Чтобы создать связь вида "многие ко многим", выполните указанные ниже действия.

1. Создайте две таблицы, которые необходимо связать отношением "многие ко многим".

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

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

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

4. Установите связь вида "один ко многим" между каждой из двух главных таблиц и соединительной таблицей.

Примечания:

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

Создание связи "один-ко-многим". Поле на стороне "один" связи (как правило, это первичный ключ) должно иметь уникальный индекс. Это означает, что свойство Индексированное поле этого поля должно иметь значение Да (Совпадения не допускаются). Полю на стороне "многие" не должен соответствовать уникальный индекс. У него может быть индекс, однако он должен допускать совпадения. Это означает, что его свойство Индексированное поле может иметь значение Нет либо Да (Допускаются совпадения). Если у одного поля есть уникальный индекс, а у другого — нет, приложение Access создает связь "один-ко-многим".

Создание связи между таблицами с помощью области Список полей

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

Открытие таблицы в режиме таблицы

1. На вкладке Файл нажмите кнопку Открыть.

2. В диалоговом окне Открытие файла базы данных выберите и откройте базу данных.

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

Открытие области Список полей

Нажмите клавиши ALT+F8.

Будет отображена область Список полей.

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

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

Добавление поля и создание связи из области Список полей

1. В области Список полей в группе Доступные поля в другой таблице щелкните знак плюс (+) рядом с именем таблицы.

2. Перетащите нужное поле из области Список полей в таблицу, открытую в режиме таблицы.

3. Когда появится линия вставки, вставьте поле в нужное место.

4. Будет запущен мастер подстановок.

5. Следуйте инструкциям мастера подстановок.

Поле будет отображено в таблице в режиме таблицы.

При перетаскивании поля из другой (несвязанной) таблицы и выполнении инструкций мастера подстановок между таблицей из области Список полей и таблицей, в которую было перетащено поле, автоматически создается связь "один-ко-многим". Эта связь, созданная приложением Access, по умолчанию не обеспечивает целостность данных. Чтобы обеспечить целостность данных, необходимо изменить связь.

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

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

1. На вкладке Работа с базами данных в группе Схема данных щелкните элемент Схема данных.

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

3. На вкладке Конструктор в группе Связи щелкните Все связи.

Появятся все таблицы со связями, а также соответствующие линии.

4. Щелкните линию связи, которую требуется удалить. При выделении линия связи становится толще.

5. Нажмите клавишу DEL или щелкните правой кнопкой мыши и выберите команду Удалить.

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

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

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

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

Внесите изменения в диалоговом окне Изменение связей.

1. На вкладке Работа с базами данных в группе Схема данных щелкните элемент Схема данных. Откроется окно Схема данных. Если в базе данных еще не определены связи и окно Схема данных вызывается впервые, откроется диалоговое окно Добавление таблицы. Нажмите в нем кнопку Закрыть.

2. На вкладке Конструктор в группе Связи щелкните Все связи.

3. Появятся все таблицы со связями, а также соответствующие линии.

4. Щелкните линию связи, которую требуется изменить. При выделении линия связи становится толще.

5. Дважды щелкните линию связи.

6. Внесите изменения и нажмите кнопку ОК.

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

28. Разработка информации о СУБД. Формирование запросов на выборку данных.

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

Наши рекомендации