Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_ЗФ / Учебное пособие_Информатика.doc
Скачиваний:
237
Добавлен:
22.03.2016
Размер:
6.18 Mб
Скачать

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

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

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

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

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

2. Марка товара

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

3. Цена товара

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

Свойство Формат поля установите Денежный, а свойство Число десятичных знаков равным 2.

3. Поставщик товара

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

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

Свойство Размер поля установите Длинное целое и введите значение свойства Подпись – Поставщик.

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

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

Вернемся к подстановке для поля КодПоставщика. Для этого в столбце Тип данных поля КодПоставщика выберите в списке значений Мастер подстановок как показано на рисунке 79.

Рисунок 79 – Вызов мастера подстановки

В диалоговом окне Мастер подстановок по умолчанию установлен переключатель Объект «столбец подстановки» будет использовать значения из таблицы или запроса (рис. 80).

Рисунок 80 – Создание столбца подстановки

Это именно то, что нам нужно, т.к. в данном случае мы должны использовать данные из таблицы Поставщики. Нажмите кнопку .

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

Рисунок 81 – Выбор источника

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

Рисунок 82 – Выбранные поля столбца подстановок

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

Рисунок 83 – Сортировка значений в столбце подстановок

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

Столбец КодПоставщика скрыт, так как по умолчанию установлен флажок Скрыть ключевой столбец. Ширину столбца можно отрегулировать, перемещая мышью границы столбцов. Установив нужную ширину столбцов, нажмите кнопку .

Рисунок 84 – Задание ширины столбца подстановки

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

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

Рисунок 85 – Свойства поля подстановки в окне конструктора таблиц

Эта вкладка содержит список свойств, которые определяют столбец подстановки:

  • Тип элемента управления – определяет вид поля: обычное поле, список или поле со списком. В данном случае это Поле со списком.

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

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

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

  • Число столбцов – определяет число выводимых столбцов в раскрывающемся списке. В нашем примере их 2 – КодПоставщика и Название.

  • Заглавия столбцов – определяет, будут ли выводиться заглавия столбцов.

  • Ширина столбцов – определяет ширину столбцов списка. Обратите внимание, что для первого столбца указана ширина 0 см – именно поэтому он и не будет отображаться, а для второго – 3,969.

  • Число строк списка – определяет максимальное число строк в списке (8). Если количество элементов списка превысит указанное число строк, в списке появляется полоса прокрутки.

  • Ширина списка – определяет ширину раскрывающегося списка (3,969).

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

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

Связывание таблиц

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

Рисунок 86 – Схема данных после работы мастера подстановок

Линия соединяет поля КодПоставщика обеих таблиц. Вам осталось лишь настроить эту связь.

Щелкните дважды левой кнопкой мыши на линии, соединяющей таблицы. Появится диалоговое окно Изменение связей. В первой строке таблицы отображаются связанные поля. Установите флажки Обеспечение целостности данных, Каскадное обновление связанных полей, как показано на рисунке 87.

Рисунок 87 – Настройка связей в окне Схема данных

Нажмите кнопку ОК (окно Изменение связей закроется). В окне Схема данных на линии, соединяющей две таблицы, появится на стороне «один» значок 1, а на стороне «многие» –  (рис. 88).

Рисунок 88 – Настроенные связи в окне Схема данных

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

Ввод данных

Существует несколько способов ввода данных в таблицы:

  • ввод записей в режиме таблицы;

  • ввод данных с помощью форм;

  • копирование данных из других таблиц;

  • импорт данных из внешних файлов;

  • присоединение внешних таблиц.

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

Для освоения работы режима таблицы заполним данными созданные таблицы. Но прежде обратите внимание – таблицы следует заполнять строго по записям (т.е. по строкам таблицы). Для перехода между полями одной записи нажимайте клавишу ТАВ или Enter. Для перехода в начало следующей записи используйте  и затем Home.

Итак, дважды щелкните на таблице Поставщики, чтобы открыть ее в режиме таблицы.

В поле типа Счетчик ввод данных запрещен, поэтому перейдите в следующее поле, нажав клавишу ТАВ. Введите название поставщика. Если попробовать перейти на следующую строку, например, нажав клавишу , то на экране появится сообщение: Поле Поставщики. Название не может содержать значение Null, так как свойство обязательное поле этого поля имеет значение Да. Введите значение в это поле. Это отработала одна из проверок правильности ввода записи в таблицу, так как именно при переходе на следующую запись Access выполняет сохранение записи в таблице. Введите значение в поле Название.

При переходе на следующее поле Номер телефона появится маска ввода, заданная для поля Телефон, как показано на рисунке 89.

Рисунок 89 – Ввод данных о поставщиках в режиме таблицы

Введите цифры в те позиции, которые обозначены символом подчеркивания в поле Телефон.

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

Закройте таблицу Поставщики, щелкнув на кнопке , и откройте таблицу Товары.

Аналогично, минуя поле Счетчик, заполните поля Товар и Цена. При заполнении поля Цена введите запятую для разделителя десятичных знаков; ‘р.’ или ‘руб.‘ вводить не следует, так как Access припишет их автоматически ввиду того, что для этого поля установлен тип Денежный.

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

Рисунок 90 – Ввод данных о товарах в режиме таблицы

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

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

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

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

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

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

Поиск и сортировка данных

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

C:\Programs Files\Microsoft Office\Office\Samples\Борей.mdb