|
Программирование >> Разработка пользовательского интерфейса
вз ЗалрасЗ : запрос на выборку (локальный) key customer I kei) auto date write selled summa Поле: Имя таблицы: Групповая операция: Сортировка: Вывод на экран: Условие отбора:
Рис. 7.10. Чтобы сделать запрос более актуальным, то есть иметь возможность менять содержимое выводимых данных в зависимости от изменяющихся потребностей в получении данных, вы можете использовать параметрические запросы. Параметры запроса устанавливаются с помощью специального диалогового окна, представленного на рис. 7.11. При этом помните, что все выражения тоже будут считаться параметрами, если Access не имеет возможности преобразовать их. Параметры запроса Парагугетр I Типданныи
Отмена Рис. 7.11. На рис. 7.12 представлен запрос, который должен вызываться из формы IKNOWWHATIWANTIWANTITNOW и выводить данные по счетам, которые являются текущими для данной формы. В случае запуска этого запроса в момент, когда эта форма не является активной, условие критерия Forms! [IknowwhatIwantIwantitnow]. [account] превратится в параметр, и перед вашими пользователями появится диалог, в котором будет предложено ввести значение данного параметра. В то же время параметр SKOLKO зарегистрирован как параметр и всегда будет считаться параметром, даже при наличии поля с одноименным названием в какой-нибудь из форм, из которой будет вызываться запрос. приводится пример построения такого выражения. Критерий, указанный для колонки, которая будет выводить выражение, также попадет в предложение HAVING. ЗаирйсЗ запросив выйорку (локальный) : :miiI
Рис. 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 <<название новой таблицы>> Так что если вы научились строить запросы выборки, то можете считать, что вы можете строить запросы для создания таблиц. Запрос удаления Выбрав команду Удаление из меню Запросы, вы можете приступить к конструированию запроса удаления. Внешний вид окна Конструктора несколько изменится. Вместо строк Сортировка и Вывод на экран теперь вы увидите только одну - Удаление, которая может принимать два значения, причем без активного участия с вашей стороны. Если выбрать вместо названия конкретного поля звездочку, то строка удаления примет значение Из . При выборе же конкретного поля строка примет значение Условие . Причем надо отметить, что если вы напишете условия отбора записей в колонке, где выбрана звездочка, то есть выбраны все поля, то при попытке выполнения запроса появится сообщение о том, что писать эти условия в этой
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |