Создание запросов в базах данных access

Оператор DELETE (Microsoft Access SQL)

  • 10/18/2018
  • Время чтения: 2 мин

Область применения: Access 2013, Office 2013Applies to: Access 2013, Office 2013

Создает запрос на удаление, который удаляет записи из одной или нескольких таблиц, указанных в предложении FROM, отвечающих предложению WHERE.Creates a delete query that removes records from one or more of the tables listed in the FROM clause that satisfy the WHERE clause.

СинтаксисSyntax

DELETE FROM table WHERE criteriaDELETE FROM table WHERE criteria

Оператор DELETE состоит из следующих частей:The DELETE statement has these parts:

tabletable Необязательное имя таблицы, из которой удаляются записи.The optional name of the table from which records are deleted.
tabletable Имя таблицы, из которой удаляются записи.The name of the table from which records are deleted.
criteriacriteria Выражение, определяющее, какие записи нужно удалить.An expression that determines which records to delete.

DELETE особенно полезен, если вы хотите удалить большое количество записей.DELETE is especially useful when you want to delete many records.

Чтобы удалить всю таблицу из базы данных, можно использовать метод Execute с оператором DROP.To drop an entire table from the database, you can use the Execute method with a DROP statement. Однако, если удалить таблицу, может потеряться структура.

If you delete the table, however, the structure is lost. С другой стороны при использовании DELETE удаляются только данные; а структура таблицы и все ее свойства, такие как атрибуты поля и индексы, остаются нетронутыми.

In contrast, when you use DELETE, only the data is deleted; the table structure and all of the table properties, such as field attributes and indexes, remain intact.

Вы можете использовать DELETE, чтобы удалить записи из таблиц, которые находятся в связи «один ко многим» с другими таблицами.You can use DELETE to remove records from tables that are in a one-to-many relationship with other tables.

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

Cascade delete operations cause the records in tables that are on the many side of the relationship to be deleted when the corresponding record in the one side of the relationship is deleted in the query.

For example, in the relationship between the Customers and Orders tables, the Customers table is on the one side and the Orders table is on the many side of the relationship. Удаление записи из результатов клиентов в соответствующих записях заказов, удаляемых в случае, если указан параметр каскадного удаления.Deleting a record from Customers results in the corresponding Orders records being deleted if the cascade delete option is specified.

Запрос на удаление удаляет записи целиком, а не только данные в определенных полях.A delete query deletes entire records, not just data in specific fields.

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

If you want to delete values in a specific field, create an update query that changes the values to Null.

Важно!

  • После удаления записи с помощью запроса на удаление невозможно отменить данную операцию.After you remove records using a delete query, you cannot undo the operation. Если вы хотите узнать, какие записи были удалены, сначала проверьте результаты запроса на выборку, в котором используется то же самое условие, и снова запустите запрос на удаление.If you want to know which records were deleted, first examine the results of a select query that uses the same criteria, and then run the delete query.
  • Сохраняйте резервные копии ваших данных в любое время.Maintain backup copies of your data at all times. Если вы удалили не те записи, вы сможете восстановить их из резервных копий.If you delete the wrong records, you can retrieve them from your backup copies.

ПримерExample

В этом примере будут удалены все записи для сотрудников, чья должность — стажер.This example deletes all records for employees whose title is Trainee. Если оператор FROM содержит только одну таблицу, нет необходимости перечислять имя таблицы в операторе DELETE.When the FROM clause includes only one table, you do not have to list the table name in the DELETE statement.

Sub DeleteX()

Dim dbs As Database, rst As Recordset

‘ Modify this line to include the path to Northwind
‘ on your computer.
Set dbs = OpenDatabase(«Northwind.mdb»)

‘ Delete employee records where title is Trainee.
dbs.Execute «DELETE * FROM » _
& «Employees WHERE Title = ‘Trainee’;»

dbs.Close

End Sub

Создание запросов в Microsoft Access 2003 — база MS SQL Server

Давайте рассмотрим создание новых запросов из клиента Access на базе MS SQL Server (подразумевается, что клиент adp и база данных на основе MS SQL Server у Вас уже есть).

Примечание! Данная статья не подразумевает изучение sql, поэтому на момент прочтения этой статьи Вы уже должны понимать основы sql и понятие основных объектов в базе данных таких как: представление, функция, процедура. Если Вы совсем новичок в этом, то сначала, конечно же, рекомендуется освоить SQL, так как многие термины ниже Вам будут не понятны. Рекомендуемые статьи:

  • Видеокурсы по T-SQL
  • Самоучитель по языку Transact-SQL
  • Основы языка запросов SQL – оператор SELECT
  • Как написать функцию на PL/pgSQL?
  • Что такое представления VIEWS в базах данных? И зачем они нужны?

Начало все такое же, открывает проект, затем нажимаем на объекты «Запросы» и жмем кнопку «Создать».

И теперь подробней.

Типы запросов в Access 2003 — база MS SQL Server

Конструктор встроенной функции – это, можно сказать, обычное представление, только в нее можно передавать параметры, затем выполняются какие-то запросы на сервере, и возвращается таблица. Это своего рода функция, которая возвращает данные в виде таблицы. К ней обращаются следующим образом (если говорить об sql):

   
   SELECT * FROM my_test_tabl_func(par1, par2 ……)

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

Затем если Вы хотите добавить входящие параметры можете просто в условие ставить знак @ и название переменной, например, так:

   
   SELECT * FROM table WHERE kod = @par

После на панели в свойствах функции

на вкладке «параметры функции» появится те параметры, которые Вы указали, причем передавать их нужно в том порядке, в котором они здесь указанны.

Конструктор представления – это создание обычного представления, в просто народе «Вьюха».

Конструктор сохраненной процедуры – создание процедуры с помощью конструктора, принцип такой же, как и в вышеупомянутых функциях. Напомню процедура — это набор sql операторов, как на выборку, так и на изменение данных.

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

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

Ввод табличной функции – это создание функции, которая вернет набор записей. Похожа на встроенную функцию.

Для того чтобы в клиенте access их можно было отличать, у них разные иконки, те самые которые Вы видите при создании того или иного объекта.

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

Конечно же, все эти объекты Вы можете создать и на сервере с помощью, например, Enterprise Manager (устарел, сейчас SQL Server Management Studio), но мы сегодня рассматриваем возможность создания этих объектов из access клиента.

Нравится1Не нравится

Как сделать перекрестный запрос в access 2010?

На этом шаге будут рассмотрены перекрестные запросы.

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

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

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

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

  • Заголовки строк — выбирается для поля запроса, значения которого нужно использовать в качестве заголовков строк. В качестве заголовков строк необходимо определить хотя бы одно поле, при этом в строке Групповые операции необходимо выбрать значение Группировка, одну из итоговых функций или Выражение.
  • Заголовки столбцов — выбирается для поля запроса, значения которого нужно использовать в качестве заголовков столбцов. С этой целью используется только одно поле, требования к которому аналогичны требованиям к полю, в котором установлено значение Заголовки Строк.
  • Значение — выбирается для поля запроса, в котором вычисляется итоговое значение, отображаемое в «ячейках» перекрестного запроса. Такое поле должно быть единственным, при этом в строке Групповые операции для него необходимо выбрать одну из итоговых функций или задать выражение, в котором используются итоговые функции.
  • (не отображается) — выбирается для того поля, значения которого не должны отображаться в перекрестном запросе.

В первом столбце запроса нужно выбрать поле Фамилия таблицы Студенты, при этом следует задать для него значение Группировка в поле Групповая операция, а также Заголовки строк в поле Перекрестная таблица. Также можно выбрать направление сортировки по возрастанию.

Для второго столбца запроса необходимо выбрать поле Название таблицы Предметы и установить для него значение Группировка в поле Групповая операция и Заголовки столбцов в поле Перекрестная таблица.

В третьем столбце запроса нужно выбрать поле Оценка таблицы Успеваемость и задать для него функцию Sum в поле Групповая операция, а также Значение в поле Перекрестная таблица.

Созданный запрос можно сохранить под именем ОценкиПоПредметам (рис. 1).

ОценкиПоПредметам

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

ОценкиПоПредметам

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

На следующем шаге вы узнаете о запросах на изменение.

Предыдущий шаг

2.3. Вычисления в запросе

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

2.3.1. Типы
выражений в Access

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

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

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

В качестве составляющих выражения (его
элементов) выступают Операторы
Имена объектов, Функции, Литералы, Константы.

Материал данного раздела является
справочным. Его вы будете использовать для создания запросов.

2.4. Microsoft Access 2007

2.4.5. Создание запросов и поиск информации в базе данных

В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.

В СУБД Access 2007 применяются различные типы запросов: на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).

Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.

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

На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.

Рис. 1.

Рассмотрим создание запроса на выборку с помощью Конструктора

Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов (рисунок 2).

Рис. 2.

Откроется активное окно диалога Добавление таблицы (рисунок 3) на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.

Рис. 3.

В окне Добавление таблицы следует выбрать несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, а окно «Запрос1» станет активным (рисунок 4).

Рис. 4.

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

Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.

При необходимости можно задать принцип сортировки (по возрастанию или по убыванию) результатов запроса. В строке «Вывод на экран» автоматически устанавливается флажок просмотра информации.

Условия ограниченного поиска или критерий поиска информации вводится в строке «Условия» отбора и строке «Или». Например, введем критерий поиска — «5/A» в строке «Условия» для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A (рисунок. 5).

Рис. 5.

Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить — Да и ввести имя запроса, например «Успеваемость студентов». Для запуска запроса дважды щелкнем на query «Успеваемость студентов», откроется таблица с результатами выполненного запроса (рис. 6).

Рис. 6.

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

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

Рис. 7.

Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса (рис. 8).

Рис. 8.

В некоторых случаях для создания запросов можно использовать Мастер запросов. После создания запросов на выборку информации из БД Access 2007 можно приступать к формированию форм.

Далее >>> Раздел: 2.4.6. Создание форм для ввода данных в таблицы базы данных Access 2007

SQL-запросы

В Access 2013 и других версий запросы выполняются при помощи языка структурированных запросов SQL.

Для создания SQL-запросов необходимо перейти в режим конструктора, затем на кнопке «Вид» выбрать «Режим SQL». В результате появится диалоговое окно, в котором в поле Select вводим названия столбцов, а в поле From — то, что будет выводиться в строках, например названия поставщиков (если первый столбец «Название»).

В Access используется не чистый SQL, а его диалект Jet-SQL. Основными инструкциями для запросов в этом языке являются: SELECT, по которому осуществляется выборка из записей по определенным условиям (названия полей исходных таблиц, переносящихся в результирующую таблицу), UPDATE — используется с целью редактирования записей, DELETE — для удаления каких-либо указанных записей, CREATE — для создания новых объектов БД. В MS Access также используются TRANSFORM для построения перекрестных запросов, WITH OWNER-ACCESS OPTION для создания специальных запросов пользователем, не имеющем доступа к таблицам, к которым должен быть доступ у этого запроса, IN (для обеспечения связи с удаленной БД), DISTINCTROW (создание запроса с возможным объединением данных). Также могут применяться итоговые функции SQL, встроенные функции Access и VBA.

Как создать многозначный запрос CrossTab в Access 2013?

Мой вопрос

Я работаю в Access 2013. У меня есть набор данных, которые нужно разбивать на основе двух полей (лучше всего сделать с кросс-табличным запросом). Моя проблема: мне нужно показать SUM и COUNT каждого поля Value (), и, к сожалению, Access еще не разрешил многозначные кросс-таблицы.

Для справочных целей, если кто-то ищет в Интернете аналогичные проблемы — возникшая ошибка, если вы попытаетесь добавить несколько полей «Значение» в Access:

Чтобы создать запрос кросс-таблицы, вы должны указать один или несколько параметров заголовка строки, один параметр заголовка столбца и один параметр Value

Исправление проблем

Я читал многочисленные статьи о том, как это сделать, включая UNION, JOINs и условные агрегаты, но пока ничего не получилось.

На данный момент у меня есть два FUNCTIONAL кросс-таблицы запросов… один, который возвращает COUNT, по дате, по статусу; и тот, который возвращает SUM, по дате, по статусу. Мне еще предстоит найти способ объединить счет и сумму в одну таблицу. На этом этапе меня не волнует, было ли это сделано с помощью запроса или отчета, но я предполагаю, что запрос является самым простым способом.

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

SELECT Format(,»yyyy-mm») AS ,
Count(IIF(myStatus=’OPEN’, myStatus, Null)) As ,
Sum(IIF(myStatus=’OPEN’, , Null)) As ,
Count(IIF(myStatus=’PAID’, myStatus, Null)) As ,
Sum(IIF(myStatus=’PAID’, , Null)) As
FROM
GROUP BY Format(,»yyyy-mm»)

Моя цель

Получить таблицу результатов. Столбец 1 = Месяц обслуживания (все исходные записи в этом месяце объединены). Столбец 2 = TOTAL Количество записей по месяцам. Столбец 3 = ОБЩАЯ сумма поля , по месяцам.

Любая помощь, получающая значения поворота SUM и COUNT в одной таблице запросов, будет с благодарностью!

Примеры данных

CrossTab «Сумма» Результат запроса

Month of Service Gross Charges DENIED OPEN PAID
2011-12 $1,613.20 $1,613.20
2012-02 $999.00 $999.00
2012-05 $14,296.00 $14,296.00
2014-09 $37,776.00 $2,874.00 $8,925.50 $25,976.50

CrossTab «Количество» Результат запроса

Month of Service Quantity DENIED OPEN PAID
2011-12 1 1
2012-02 1 1
2012-05 1 1
2014-09 21 1 2 18

Моя цель состоит в том, чтобы просто объединить две таблицы… сохраняя «Месяц службы» в качестве левого столбца, а затем просто располагать столбцами «Количество», «Отклонено», «Открытое количество» и «Платный Qty», столбцы «Гросс-сборы», «Отклонено», «Открыть Amt», «Paid Amt» — все в зависимости от месяца обслуживания.

Мой SQL

CrossTab «Amt» Query

TRANSFORM Sum(.) AS
SELECT Format(,»yyyy-mm») AS , Sum(.) AS
FROM
GROUP BY Format(,»yyyy-mm»)
PIVOT .myStatus;

QuartTab «Qty» Query

TRANSFORM Count(.) AS
SELECT Format(,»yyyy-mm») AS , Count(.) AS
FROM
GROUP BY Format(,»yyyy-mm»)
PIVOT .myStatus;

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

 Введём в специальную таблицу только следующие данные

Поле

Тип данных

Описание

Счетчик

Фамилия

Текстовый

Имя

Текстовый

Дата

Дата / время

Дата рождения

Пол (м)

Логический

Пол мужской  ?

Улица

Текстовый

Дом

Числовой

Квартира

Числовой

Учебная группа

Текстовый

Группа здоровья

Текстовый

Группа здоровья по физкультуре

Увлечения

Текстовый

Глаза

Текстовый

Цвет глаз

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

     Например, вводя в четвёртой строке таблицы имя поля Дата, установим тип данных Дата/время.  В раскрывающемся списке Свойства поля установить курсор в наборном поле Формат поля. Во вновь раскрывающемся списке Формат поля установить Краткий формат даты.

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

     Сохраните таблицу, щелкнув на ней правой клавишей мыше — Закрыть.

     В  появившемся  окне  введите  имя  таблицы «Список_учеников» и  щелкните  на  кнопке ОК. Появится запрос на создание ключевого поля – уникального  поля записи. По ключевому  полю  можно  однозначно идентифицировать запись– его значение не повторяется  у  разных  записей. Ключевым сделаем атрибут таблицы №. Для этого установим курсор на имя этого поля и щёлкнем по кнопке  − Ключевое поле. Это поле позднее будем использовать для  связи  записей из разных таблиц. При заполнении данной таблицы данными значения счётчика №  будут формироваться  самостоятельно (в поле №  для каждой записи будут появляться числа – номера записей).

         Заполните базу данных — не менее 20 произвольных значений.

Как сохранить запросы

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

  1. Создайте запрос.
  2. Измените запрос, пока не получите нужные результаты.
  3. Удар CTRL + S на ПК или Cmmd + S на Mac.
  4. Введите имя, которое будет легко запомнить для последующих поисков.

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

Создание простого запроса

Откроем базу данных STUD, как было рассмотрено в ЛР1. Создадим запрос, выводящий информацию о студентах, у которых имеются задолженности.

Для создания запроса активизируем окно базы данных (см. ЛР1). После этого щелкнем по корешку «Запрос» и кнопке «Создать». В появившемся диалоговом окне «Создание запроса» выберите кнопку «Конструктор». Access откроет диалоговое окно «Добавление таблицы», позволяющее выбрать базовые таблицы и запросы для создаваемого запроса. Выберите таблицы «Результаты» и «Cтуденты», нажимая кнопку «Добавить», после чего закройте это окно кнопкой «Закрыть».

Открывшееся окно конструктора запросов состоит из двух частей: верхняя содержит списки полей выбранных таблиц, а нижняя — бланк QBE для создания запроса. Каждый столбец бланка описывает одно поле, участвующее в запросе.

Включение поля в запрос производится перетаскиванием его из списка полей таблиц (расположенного в верхней части экрана) в нужный столбец бланка QBE при помощи мышки. Включение всех полей таблицы происходит перетаскиванием символа «*», находящегося вверху списка полей данной таблицы в верхней части экрана. Включите в запрос поля таблицы «Результаты»:

перетащив их в бланк QBE . Рассмотренным выше методом перетащите из таблицы “Студенты” поле Фамилия.

Запрос “Задолженность” будет иметь вид, как показано на рисунке. Установка связей между таблицами производится автоматически, используя структуру связей, созданную при генерации проекта БД. Можно задавать другие варианты связи таблиц и иные типы связей (внешнее объединение, «один-к-одному», «один-ко-многим» и т.д.). Изменение связей производится в верхней части окна выбором связанного поля в описании одной таблицы и транспортировкой его при нажатой кнопке мышки на описание соответствующего поля связанной таблицы. Тип связи можно изменить, активизировав ее щелчком мышки на линии связи.

Условие для отбора нужных нам полей производится включением этого условия для данного поля в строке QBE «Условие отбора». Несколько значений отбора вводятся в одну строку, разделенные логическими условиями AND или OR, либо вводятся в последующие ячейки строки «или». Установим для таблицы «Результаты» условие отбора студентов, у которых задолженности, для чего в столбец описания поля внесем строку «Задолженность» из таблицы «Результаты», и в строке «Условие отбора» введем: Да

Сбросим для этого поля флажок «Показать», запрещающий вывод данного поля в выборке (т.к его не обязательно выводить). Кроме стандартных операторов сравнения ‘=’, ‘ ‘, ‘ =’, Access поддерживает также BEETWEN, IN, LIKE. В запросе могут присутствовать т.н. вычисляемые поля — вычисленные значения над любыми полями таблицы. Access поддерживает большое число функций и операторов, применяемых при генерации вычисляемых полей. Чтобы просмотреть результат запроса необходимо на панели нажать кнопку:

Изменить заголовок можно также активизировав столбец с описанием поля; а затем выполнив команду «Свойства» меню «Вид», ввести в строку «Подпись поля» его название.

Строки итоговой таблицы желательно отсортировать по полю «Фамилия» таблицы «Студенты». Для этого в столбце с описанием данного поля в строке «Сортировка» выберем пункт «по возрастанию». При необходимости сортировки по нескольким полям Access сортирует данные в порядке их расположения в бланке QBE. После просмотра запроса видно, что необходимо ввести поле Имя из таблицы “Студенты”, т.к фамилии повторяютя и запрос не несет необходимой информации. Чтобы вставить поле, перетяните его в сетку QBE на место, где он должен находится и все остальные поля передвинуться на одну позицию в право. Запустить полученный запрос на выполнение можно также командой «Выполнить» меню «Запрос». Проверим полученные результаты на соответствие критериям отбора. Сохраним полученный запрос под именем «Задолженности». Запрос представляет собой таблицу:

Создадим запрос, в котором будет вычисляться дополнительное поле. Кафедра вычислительной техники решила своим работникам к новому году выплатить премию в размере 10% от зарплаты. Создадим запрос на базе таблицы “Преподаватели”, с полями Фамилия, Кафедра, Должность, Зарплата. Чтобы создать вычисляемое поле “Премия”, выводящее информацию о величине премии работнику, в новом столбце (следующим за заполненным), в строке “Поле” введем выражение Зарплата*0,1. Изменим заголовок поля, введя перед выражение его название. Ячейка будет содержать: «Премия: *0,1».

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

Практические работы по теме «Базы данных ACCESS»

  • Задание по теме “Базы данных” Вар. 1
  • Дан набор полей: фамилия, имя, дата рождения, пол, образование, страна проживания, оклад, номер медицинского полиса, размер заработной платы,  дата проведения соревнований, место работы, должность, количество детей, семейное положение, вид спорта, дата последнего посещения врача, диагноз, занятое место, ИНН, телефон, домашний адрес.
  • Какие из перечисленных полей необходимо будет включить в БД «Поликлиника»?
  • Описать структуру таблицы, указать первичный ключ.
  • Спроектировать БД «Программа передач на неделю», с помощью которой можно будет получить ответы на вопросы:
  • Какие фильмы идут в четверг?
  • Во сколько будут показаны программы новостей в понедельник по каналам  НТВ и РОССИЯ?

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

Какое место будет занимать команда «Arsenal» после сортировки данных по полю «забито» в убывающем порядке?

команда Забито пропущено всего очков
  1. 1.  2
  2. 2.  3
  3. 3.  4
  4. 4.  1
  5. Задание по теме “Базы данных” Вар. 2
  6. Дан набор полей: фамилия, имя, дата рождения, пол, телефон, образование, страна проживания, оклад, номер медицинского полиса, размер заработной платы, дата проведения соревнований, место работы, должность, количество детей, семейное положение, вид спорта,  дата последнего посещения врача, диагноз, занятое место, ИНН, домашний адрес.
  7. Какие из перечисленных полей необходимо будет включить в БД «Банк (получение кредита)»?
  8. Описать структуру таблицы, указать первичный ключ.
  9. Спроектировать БД «Программа передач на неделю», с помощью которой можно будет получить ответы на вопросы:
  10. В какое время идут сериалы в четверг?
  11. Какие программы о животных идут в субботу по каналу Культура?

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

  • Дана база данных телефонов предприятия.
  • Какое место займет  запись «Самойлова», после сортировки  данных по полю «Имя» в возрастающем порядке?
  • 1.   4
  • 2.   1
  • 3.   2
  • 4.   3
Фамилия Имя Должность Номер телефона
1 Иванов Сергей  И. завхоз 2-13
2 Орлов Петр    Н. инженер ТБ 1-25
3 Трошкин Леонид  В. директор 2-22
4 Самойлова Наталья Г. секретарь 1-15
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector