Ввод, редактирование и удаление записей



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

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

При работе с записями используются стандартные возможности Windows, связанные с использованием Буфера обмена и других средств (см. пункт меню Правка). Перемещаться по полям записи можно с помощью клавиш Tab и Shift-Tab или мыши.

В случае ввода больших объемов текста (например, МЕМО-полей) удобно пользоваться комбинацией клавиш Shift+F2, которая открывает Окно ввода.

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

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

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

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

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

В качестве примера добавим поле Категория в таблицу ТОВАР. Под категорией будем понимать вид товара: вычислительная техника, копировальная техника, программы, носители информации.

Очевидно, что непосредственно вводить и хранить эти данные в самой таблице ТОВАР неудобно, поэтому, вначале создадим новую таблицу с именем КАТЕГОРИЯ ТОВАРА с двумя полями: Код и Значение. Поле Код будет типа Счетчик и первичным ключом, поле Значение текстовым. Заполним таблицу КАТЕГОРИЯ ТОВАРА следующими значениями: Выч. техника, Копир. техника, Программы, Носит. инф.

Теперь выберем таблицу ТОВАР и добавим в нее новое поле. Для этого нажмем кнопку Конструктор. Добавим еще одну строку в список полей. Назовем поле Категория, тип у него должен быть согласован с типом Счетчик, т.е. Числовой и Размер данных типа Длинное целое. Осталось заполнить это поле в режиме Открыть. При заполнении может проявиться неудобство, связанное с тем, что надо вводить в это поле не текстовое значение, а число из диапазона 1-4, соответствующее значению поля Код в таблице КАТЕГОРИЯ ТОВАРА, значение которого хранится в другой таблице под именем Код и которое нужно помнить. В дальнейшем, при изучении Форм, мы научимся решать подобные проблемы, работая одновременно с двумя таблицами.

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

Задание 2.

1. Создать таблицу КАТЕГОРИЯ ПОКУПАТЕЛЯ аналогичную описанной выше.

Указание: При создании новых таблиц, запросов, форм и т.п. удобно использовать уже существующие объекты. Так, таблица КАТЕГОРИЯ ПОКУПАТЕЛЯ по структуре будет похожа на таблицу КАТЕГОРИЯ ТОВАРА. Поэтому ее можно скопировать через Буфер обмена, используя пункты меню Правка / Копировать и Вставить или пиктограммы в верхней линейке инструментов  Копировать и  Вставить. Для этого нужно выделить таблицу КАТЕГОРИЯ ТОВАРА из списка таблиц. Затем нажать кнопки Копировать и Вставить. После вставки надо ввести имя новой таблицы и в режиме Конструктора внести необходимые изменения: заменить имя текстового поля Значение на Название.

Покупателей будем делить на три категории: Организация, Частное лицо, Неизвестно. Заполнить таблицу.

2. Добавить в таблицу ПОКУПАТЕЛЬ Числовое поле Категория типа Длинное целое.Заполнить его согласно таблице КАТЕГОРИЯ ПОКУПАТЕЛЯ, т.е. записать туда значения 1, 2 или 3.

 2.4. Связи между таблицами.

При выводе отчетов о заказах одновременно используется информация из таблиц ЗАКАЗ, ТОВАР и ПОКУПАТЕЛЬ. Для совместной обработки данных между таблицами устанавливаются связи. Теоретически связи бывают трех типов: Один-к-Одному, Один-ко-Многим, Многие-ко-Многим, но Access поддерживает связи только первых двух типов. Связи устанавливаются по полям, которые одновременно имеются в обеих связываемых таблицах, имеют согласованный тип данных и хранят одну и ту же информацию.

Так, между таблицами ПОКУПАТЕЛЬ и ЗАКАЗ можно установить связь по полю Код покупателя. Это будет связь Один-ко-Многим: одному покупателю могут соответствовать несколько заказов. Аналогично можно установить связь между таблицами ТОВАР и ЗАКАЗ по полю Код товара: одному товару может соответствовать несколько заказов. Наличие подобных связей даст возможность при выводе отчета о продажах по таблице ЗАКАЗ вместо кода товара печатать его наименование, а вместо кода покупателя – его фамилию.

Теперь выберем пункт меню Сервис/ Схема данных... или пиктограмму  Схема данных. Откроется сразу два окна Схема данных и Добавление таблицы. Добавим таблицы ЗАКАЗ, ПОКУПАТЕЛЬ и ТОВАР, выбирая имя таблицы и нажимая кнопку Добавить, затем нажмем кнопку Закрыть. Таблицы появятся в окне Схема данных.

При работе в СУБД Access часто используется буксировка данных. Выделяется поле, нажимается и держится нажатой левая кнопка мыши, поле перетаскивается с одного места экрана в другое. Отбуксируем поле Код покупателя из таблицы ПОКУПАТЕЛЬ (главной таблицы) в таблицу ЗАКАЗ (подчиненную) и опустим его сверху на поле Код покупателя в этой таблице. В появившемся окне Изменение связей отметим галочкой флажок Обеспечение целостности данных и нажмем кнопку Создать. В окне Схема данных возникнет связь Один-ко-Многим со значками 1 и ¥. Проделаем аналогичную операцию с полем Код товара в таблице ТОВАР.

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

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

Задание 3.

1. Добавить в схему данных таблицы КАТЕГОРИЯ ТОВАРА и КАТЕГОРИЯ ПОКУПАТЕЛЯ, использую пункт Связи / Добавить таблицу... .

2. Установить связи Один-ко-Многим между таблицами КАТЕГОРИЯ ТОВАРА и ТОВАР, КАТЕГОРИЯ ПОКУПАТЕЛЯ и ПОКУПАТЕЛЬ.

ЗАПРОСЫ

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

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

Сортировка записей

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

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

Откроется окно Добавление таблицы. Выберем из предложенного списка таблицу ПОКУПАТЕЛЬ, нажмем кнопки Добавить и Закрыть. Откроется окно Запрос1: запрос на выборку. Оно состоит из двух частей. В верхней части представлены таблицы, используемые в запросе, возможно, вместе с их связями. Нижняя часть называетсяБланк запросов QBE.

В начале списка полей таблицы ПОКУПАТЕЛЬ расположено поле *. Оно представляет собой все поля таблицы, вместе взятые. Ниже расположены поля таблицы по отдельности. Отбуксируем поле * из верхней части окна в нижнюю левой кнопкой мыши(таким образом, в запросе будут участвовать все поля таблицы ПОКУПАТЕЛЬ) и опустим в первой колонке в строке Поле. Во вторую колонку нижней части перетащим поле Фамилия ИО. Этого же эффекта можно добиться, щелкнув левой кнопкой мыши по пустой ячейке Поле и выбрав нужное поле из предложенного списка полей.

Далее щелкнем левой кнопкой мыши во второй колонке в поле строки Сортировка. Справа в строке появится кнопка , при нажатии на которую будет предложен порядок сортировки. Выберем по возрастанию. Осталось отменить Вывод на экран в рассматриваемом столбце (чтобы поле Фамилия ИО не выводилось в запросе дважды), для этого отключим флажок , щелкнув по нему левой кнопкой мыши. Теперь можно просмотреть результат выполнения запроса, нажав пиктограмму  Выполнить или выбрать в меню пункты Запрос / Запуск. В результате на экране появится знакомая нам таблица ПОКУПАТЕЛЬ, в которой фамилии будут упорядочены по алфавиту.

Закроем окно запроса. Access предложит нам сохранить запрос, сохраним его с именем “Список покупателей”.

Задание 4.

Создать запрос “Список товаров” для таблицы ТОВАР с полями Наименование, Цена, отсортированный по второму полю в порядке убывания.

Запросы с критериями выбора

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

Числа сравниваются с помощью операторов отношений. Если знак операции в условии не ставится, то подразумевается операция “равно”. Даты сравниваются так же; даты-константы заключаются в знаки #, например: >#10.12.01#. Результатом сравнения будет логическое значение: TrueИстина или FalseЛожь.

Во многих случаях необходимо комбинировать отношения между собой. Например, для проверки выполнения неравенства a< x <b одних отношений недостаточно. Используются логические операторы: NotНЕ; AndИ; OrИли (есть и другие логические операторы, см. Справку в Access). Указанное выше неравенство записывается как “a< x And x <b”. Его же можно записать как “x Between a And b” (здесь используется оператор Betweenмежду).

Для поиска строк, удовлетворяющих условию совпадения с условием поиска (со всей строкой или ее частью), удобен оператор Like (переводится как «подобный»). Он имеет вид: Like Образец. В образце можно использовать символы-заменители: * – для произвольного количества символов и ? – для одного символа. Так, чтобы найти все фамилии, начинающиеся на букву П, в строке условие отбора поля Фамилия ИО пишется условие: Like “П*”.

Создадим запрос “Товары дороже чем” для таблицы ТОВАР с полями Наименование, Цена, отсортированный по полю Наименование, выводящий список товаров дороже 50 руб. Для этого после выбора таблицы ТОВАР перетащим в бланк запроса QBE указанные выше поля. Выберем сортировку по возрастанию в первой колонке, во второй колонке в строке Условие отбора введем условие: > 50. Выполним запрос, получим требуемую таблицу. Сохраним его с указанным выше именем.

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

Задание 5.

1. Создать запрос “Покупатели на букву П” для таблицы ПОКУПАТЕЛЬ с полями Фамилия, Код покупателя, Телефон, Адрес. Выбрать покупателей, фамилия которых начинается на букву “П” (Условие отбора: “П*“ или Like “П*”).

2. Создать запрос “Продажи за последние шесть месяцев” для таблицы ЗАКАЗ, содержащий все поля таблицы (Условие отбора: >=DATE()-183. Здесь используется системная функция DATE(), возвращающая сегодняшнюю дату. Число 183 – это половина дней одного года).

3. Создать запрос "Покупки покупателя с отбором по двум столбцам" для таблицы ЗАКАЗ, в котором отберем записи для покупателя с кодом 2 и его покупки за последний месяц.

Запросы с параметрами.

Запросы с постоянными критериями отбора не всегда удобны. Например, при поиске покупателя, фамилия которого начинается на определенную букву, хорошо было бы вводить эту букву с клавиатуры при выполнении запроса. Вводимые с клавиатуры в процессе выполнения запроса данные называются параметрами. Они заключаются в квадратные скобки. Параметр представляет собой шаблон, который используется в условии и заполняется в процессе выполнения запроса. Например, [Цена товара] или [Дата покупки]. Параметр не должен совпадать с именем поля таблицы, так как система в этом случае не поймет, что речь идет о параметре! И наоборот, если вы напишете в запросе имя поля с ошибкой, система будет считать, что это параметр и при вызове запроса на выполнение выведет окно ввода этого параметра.

Создадим запрос для поиска покупателя, фамилия которого начинается на определенную букву. Для этого скопируем запрос “Покупатели на букву П”. В качестве нового имени запроса введем Покупатели на вводимую букву. Вызовем Конструктор и внесем необходимые изменения в запрос. В качестве Условия отбора запишем: Like [Начало фамилии] & ”*”. Здесь использован оператор & для слияния двух строковых выражений. Теперь при выполнении запроса появится окно Введите значение параметра с приглашением Начало фамилии (которое совпадает с именем параметра в запросе).

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

Задание 6.

1. Создать запрос “Товары дороже чем с параметром” для таблицы ТОВАР с полями Наименование, Цена, отсортированный по первому полю, на основе запроса “Товары дороже чем”. Запрос должен выводить товары, цена которых не меньше определенной величины (Условие отбора: >=[Цена товара]). Кроме того, надо выбрать пункт меню Запрос / Параметры ..., указать Параметр Цена товара и Тип данных “Двойное с плавающей точкой”.

2. Создать запрос “Продажи раньше чем” для таблицы ЗАКАЗ (Условие отбора: <= [Дата]). Параметр Дата должен иметь тип “Дата/время”.


Дата добавления: 2021-07-19; просмотров: 85; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!