Присвоение пользовательских имен вычисляемым полям

Пользователь имеет возможность присвоить новое имя вычисляемому полю, 5 используя один из следующих способов:

r Изменение имени поля в запросе. В режиме конструктора запроса в бланке запроса вместо ВыражениеN (ExprN) ввести новое имя

r Изменение подписи поля в свойствах поля. Установить курсор на вычисляемое поле в бланке запроса и открыть окно Свойства поля (Field Properties), щелкнув правой кнопкой мыши и выбрав в контекстном меню опцию Свойства (Properties). В окне Свойства поля (Field Properties) на вкладке Общие (General) ввести нужный текст подписи в строку Подпись поля (Caption)

Параметры запроса

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

Определение параметра запроса по значению поля. Имя параметра запроса может задаваться непосредственно в строке Условия отбора (Criteria) в квадратных скобках. При выполнении запроса это имя появится в диалоговом окне Введите значение параметра (Enter Parameter Value).

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

Определение нескольких параметров запроса. Если в запрос вводится не­сколько параметров, то порядок их ввода через диалоговые окна определяет­ся порядком расположения полей с параметрами в бланке запроса. Чтобы иметь возможность ввести несколько значений для одного поля при выпол­нении запроса, можно в условии отбора этого поля определить несколько параметров. Например, для отбора записей по двум группам в условии отбора поля НГ можно записать два параметра, связанных логической операцией OR: <номер группы > OR <еще один номер>.

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

Корректировка данных средствами запроса

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

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

Для того чтобы создать запрос на обновление (Update Query) первоначально создается запрос на выборку (Select Query), а затем в окне конструктора за­просов он преобразуется в запрос на обновление выбором пункта Обновление. После выполнения этой ко­манды в бланке запроса появляется строка Обновление (Update To).

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

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

После выполнения запроса открывается диалоговое окно с сообщением о числе обновляемых записей и вопросом о продолжении опе­рации обновления.

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

Рисунок 12 пример запроса на обновление

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

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

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

Первоначально запрос на добавление (Append Query) создается как запрос на выборку (Select Query) на одной или нескольких взаимосвязанных таблицах.

 Затем в окне конструктора запросов он превращается в запрос на добавле­ние выбором типа запроса Добавление (Append Query). При этом открывается диалоговое окно Добавление (Append).

Рисунок 13

 

В этом окне в поле Имя таблицы (Table Name) вводится или выбирается имя таблицы, в которую надо добавить записи.

Если таблица-приемник добавляемых записей находится в открытой базе данных, надо отметить переключатель В текущей базе данных (Current Database). Для таблицы, находящейся в другой базе данных, надо отметить переключатель В другой базе данных (Another Database) и ввести имя файла БД. При необходимости укажите путь. Можно также указать базу данных Microsoft FoxPro, Paradox, dBASE или ввести строку подключения для базы данных SQL (см. ниже).

После преобразования запроса в запрос на добавление в его бланке появля­ется строка Добавление (Append To).

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

Для указания в строке Добавление (Append To) имен полей таблицы-получателя, в которые будут добавляться значения из соответствующих по­лей таблицы запроса, надо в каждой ячейке открыть список полей и вы­брать нужное имя.

Заметим, если выбранные поля имеют одни и те же имена в обеих таблицах, имена в строку Добавление (Append To) вносятся автоматически.

Для добавления записей надо нажать кнопку Запуск (Run) на панели инст­рументов. Открывается диалоговое окно с сообщением о числе обновляемых записей и вопросом о продолжении операции обновления.

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

Заметим, если в схеме данных БД установлен параметр Обеспечение целост­ности данных (Enforce Referential Integrity), то добавление подчиненных за­писей возможно только в том случае, когда в главных таблицах уже имеются связанные записи.

Запрос на удаление

Запрос на удаление (Delete Query) позволяет удалить записи из одной табли­цы или из нескольких взаимосвязанных таблиц. В запросе указываются таб­лицы, из которых должны удаляться записи, и задаются условия отбора уда­ляемых записей.

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

После преобразования запроса в запрос на удаление в его бланке появляется строка Удаление (Delete).

Затем формируется бланк запроса. Для задания таблицы, записи которой требуется удалить, надо с помощью мыши переместить символ звездочки (*) из списка полей соответствующей таблицы в бланк запроса. В строке Уда­ление (Delete) в столбце этого поля появляется значение Из (From). Для того чтобы задать условия отбора удаляемых записей, надо переместить с помощью мыши в бланк запроса поля, для которых устанавливаются усло­вия отбора. В строке Удаление (Delete) под именами этих полей появляется значение Условие (Where). Строку Условие отбора (Criteria) для этих полей надо заполнить необходимыми условиями.

Для удаления записей нажимается кнопка Запуск (Run) на панели инстру­ментов.

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

В приведенном примере между таблицами ГРУППА и СТУДЕНТ установлена связь один-ко-многим. В бланке запроса указано удаление записей главной таблицы ГРУППА и подчиненной таблицы СТУДЕНТ для групп, в которых количество студентов менее 5. Если задан параметр Обеспечение целостности данных (Enforce Referential Integrity) и установлен параметр Каскадное удаление связанных записей (Cascade Delete Related Records), то для удаления записей групп и связанных с ними записей студен­тов достаточно указать в запросе удаление записей главной таблицы ГРУППА. Если параметр каскадного удаления не задан, то удаление записей таблицы ГРУППА возможно, только если в подчиненной таблице нет связанных записей. Напомним, что подчиненные записи самого нижнего уровня могут быть удалены независимо от параметров целостности. Если параметры целостно­сти не установлены вообще, то записи удаляются только в указанных в бланке запроса таблицах и вне зависимости от их логических связей.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: