Программирование >>  Разработка пользовательского интерфейса 

1 ... 76 77 78 [ 79 ] 80 81 82 ... 147


вз ЗалрасЗ : запрос на выборку (локальный)

key customer I kei) auto date write selled

summa

Поле: Имя таблицы: Групповая операция: Сортировка: Вывод на экран: Условие отбора:

account

Средняя сделка: Sum[[summa])/Cc

account

Группировку-

►г

Рис. 7.10.

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

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

Парагугетр

I Типданныи

Custpar

Текстовый iJ

Отмена

Рис. 7.11.

На рис. 7.12 представлен запрос, который должен вызываться из формы IKNOWWHATIWANTIWANTITNOW и выводить данные по счетам, которые являются текущими для данной формы. В случае запуска этого запроса в момент, когда эта форма не является активной, условие критерия

Forms! [IknowwhatIwantIwantitnow]. [account]

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

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



ЗаирйсЗ запросив выйорку (локальный)

: :miiI

Поле.

Сортнрввиа GbflOA Mflatipai

ШЯПЙ -1 etiaart

i ! 1

,Fcii№HII(n Mnsntl№nlltNob4}taxaidlJ

Рис. 7.12. Параметрический запрос, требующий наличия открытой формы

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

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

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

Запросы добавления - это те запросы, которые начинаются с ключевого слова INSERT. Мы их обсуждали выше, теперь рассмотрим, как их создавать визуально в Microsoft Access. По умолчанию Конструктор создает запросы добавления с помощью предложения SELECT, то есть использует следующий синтаксис:

INSERT INTO назначение [(поле1[,поле2[, ...]])] SELECT [источник.]поле1[,поле2[, FROM выражение

[IN внешняя база данных]

...]]

Если вы в режиме SQL создадите запрос, который использует синтаксис добавления одной записи, то при повторном открытии запроса он все равно преобразуется в запрос с вышеприведенным синтаксисом. Тем не менее на результаты запроса добавления данное преобразование никак не повлияет. Рассмотрим следующий пример. В режиме SQL был создан следующий запрос:

INSERT INTO Account ( account ) VALUES (109)

После перехода в режим Конструктора и возврат в режим SQL запрос был преобразован к следующему виду:

INSERT INTO Account ( account ) SELECT 109 AS Выражение1;

Тем не менее и тот другой запрос выполняет совершенно одинаковые действия - добавляет запись в таблицу Account, у которой поле Account имеет значение 109.

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



Добавление

Добавление записей в таблицу-Имя таблицы: [account

(* IB 1екущей базе данный В Аругой базе данных: Имя файла: 1

□ К

Отмена

Рис. 7.13. Выбор таблицы для добавления записей

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

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

С£ L 3tliP>iii МП Jiijliiblimrilie

Строка Добавление зэ1/енлпа строку Вывод i-a экран Рис. 7.14.

Запрос - Создание таблицы

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

...INTO <<название новой таблицы>>

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

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

Выбрав команду Удаление из меню Запросы, вы можете приступить к конструированию запроса удаления. Внешний вид окна Конструктора несколько изменится. Вместо строк Сортировка и Вывод на экран теперь вы увидите только одну - Удаление, которая может принимать два значения, причем без активного участия с вашей стороны. Если выбрать вместо названия конкретного поля звездочку, то строка удаления примет значение Из . При выборе же конкретного поля строка примет значение Условие . Причем надо отметить, что если вы напишете условия отбора записей в колонке, где выбрана звездочка, то есть выбраны все поля, то при попытке выполнения запроса появится сообщение о том, что писать эти условия в этой



1 ... 76 77 78 [ 79 ] 80 81 82 ... 147

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика