Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Что такое динамической набор данных



После создания и запуска запроса Microsoft Access может вернуть и отобразить в виде строк и столбцов множество записей, которые вы запрашивали. Эти записи называются динамическим набором данных (dynaset). Как вы уже знаете, Режим таблицы (Datasheet View) выглядит так же, как электронная таблица, со строками записей и столбцами полей. В режиме таблицы обычно отображается сразу несколько записей. Со стороны динамический набор данных выглядит как таблица, хотя и не является ею. Динамический набор данных является временным (или виртуальным) набором записей и не хранится в базе данных.

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

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

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

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


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

1. В окне базы данных щелкните на вкладке Запросы (Queries).

2. Щелкните на кнопке Создать (New).

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

3. Выберите опцию Конструктор (Design View) и щелкните на кнопке ОК.

Выбор таблицы

В диалоговом окне Добавление таблицы (Show Table) отображаются все таблицы и запросы базы данных. Для добавления таблицы в окно конструктора запросов выполните следующие действия.

1. Выберите таблицу.

2. Щелкните на кнопке Добавить (Add).

3. Щелкните на кнопке Закрыть (Close).

Использование окна конструктора запросов

 


Окно Конструктора запросов имеет два режима: Конструктор и Режим таблицы. В режиме Конструктор создается запрос, а в Режиме таблицы выводится динамический набор данных запроса.

Окно Конструктора запроса состоит из двух частей:

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

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

Перемещение в окне конструктора запросов

Заголовок в верхней части окна конструктора запроса содержит информацию о конкретном окне, типе запроса и имени запроса. Любой новый запрос называется Заnpoс1(Query1). Заголовок отображает тип запроса и имя в виде

Запрос1: запрос на выборку (Queryl: Select Query).

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

Переключаться между верхней и нижней областями можно с помощью щелчка мышью на соответствующей области окна или клавиши < F6>. Обратите внимание, что в каждой области есть полосы прокрутки.

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

Бланк запроса

В бланке запроса содержится шесть строк.

Поле (Field) Имя поля
Имя таблицы (Table) Имя таблицы, в которой содержится поле (эта информация полезна в запросах, использующих несколько таблиц)
Сортировка (Sort) Место ввода инструкций сортировки
Вывод на экран (Show) Определяет, будет ли присутствовать поле в динамическом наборе данных
Условие отбора (Criteria) Содержит первое условие, ограничивающее набор записей
Или (Or) Другие условия ограничения набора записей

Выбор полей

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

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

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

1. Выделите имя поля в области таблиц запроса.

2. Щелкните на нужном поле и перетащите пиктограмму поля, которая появится при перемещении мыши.

3. Опустите пиктограмму поля в нужном столбце бланка запроса.

Запуск запроса

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

Запрос можно запустить, щелкнув на кнопке с изображением восклицательного знака на панели инструментов или выбрав команду Запрос► Запуск (Query► Run).

Отбор записей

Access упрощает отбор записей, задавая условия их отбора.

Условия отбора записей

Условия отбора записей — это набор предопределенных в Access или задаваемых вами правил. Они указывают Access, какие записи вы хотите просмотреть в динамическом наборе данных. Иначе говоря, с помощью условий отбора записей вы создаете ограничивающие фильтры, чтобы указать, какие записи следует найти, а какие — оставить за пределами динамического набора данных.

Условия задаются в строке свойства Условие отбора (Criteria) бланка запроса с помощью выражения. Выражение может задаваться по образцу или использовать сложные функции выбора.

Для текстового поля можно вводить условия символьного типа. Подобные условия задаются по образцу. Обратите внимание, что вы не вводили знак " равенства" и не заключали текст в кавычки, хотя Access автоматически взяла слово в двойные кавычки. (Это пример ее мощности и гибкости.)

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

При вводе простого выражения в поле текстового типа Access берет образец из ячейки свойства Условие отбора (Criteria) и интерпретирует его таким образом, чтобы показать все записи, в которых содержится такой же образец данных.

Это средство является довольно мощным инструментом. Учтите, что вы лишь задали образец данных, a Access не только интерпретировала его, но и использовала для создания динамического набора данных запроса. Это как раз то, что называют запросом по образцу (query by example): вы вводите образец и выполняете запрос на его основе.

Для удаления критерия из ячейки выделите ее содержимое и либо нажмите клавишу < Delete>, либо выберите команду Правка► Удалить (Edit► Delete).

Условия можно также задавать для полей с данными типа Числовой (Numeric), Дата/время (Date/Time) и Логический (Yes/No).

Access может сравнивать значение поля типа Дата/время (Date/Time) с заданным значением, используя следующие операторы сравнения: <, >, = и их комбинацию. Обратите внимание, что Access автоматически размещает значения даты между разделителями (символами #). Разделители позволяют Access отличать данные типа Дата/время (Date/Time) от данных типа Текстовый (Text). Так же, как при вводе текстовых образцов, вам необязательно вводить знаки #, поскольку Access понимает, что вам нужно, и сама преобразует формат ввода.

Резюме

§ Запросы обращаются к данным и предоставляют ответ в виде собранной информации.

§ Существуют следующие типы запросов: на выборку, групповой, перекрестный, SQL, запрос на изменение и запрос с ограничением.

§ Запросы позволяют выбирать таблицы, поля, порядок сортировки и условия отбора записей.

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

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

§ В окне конструктора запроса есть две области: в верхней отображаются таблицы, а нижняя используется как бланк запроса.

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

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

§ Отобранные запросом записи можно фильтровать с помощью условий отбора записей.

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


Выражения

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

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

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

Ниже приведены некоторые примеры выражений.

=[Общая сумма]-([Общая сумма]*[Скидка])

[Тип животного]=" Кот" And [Вид]=" Персидский"

[Дата рождения] Between 1/91 And 12/93

Элементы выражения

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

Операторы: определяют тип действия, которое будет выполнено над одним или несколькими элементами выражения.

> , =, *, And, Or, Not, Like и др.

Имена объектов: Имена объектов называются идентификаторами. Они относятся к реальным объектам: таблицам, формам, отчетам, элементам управления и полям.

Forms! [Клиенты] [Адреса клиентов]

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

Date(), DLookUpf), DateDiff ().

Литералы: это фактические значения, которые вводятся в выражения в виде чисел, текстовых строк или дат. В Access они используются в том же виде, в каком вы их ввели.

100, 1 января 1993, " Кот", " [A-D]*" .

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

Yes, No, Null, True, False.

 

[Контрольная дата] = Date() + 30

где [Контрольная дата] — имя объекта или идентификатор, = — оператор, Date() — функция, + — оператор, 30 — литерал.

Создание выражения

Для создания выражения можно использовать Построитель выражений (Expression Builder).

Как правило, выражения используются в окнах свойств, аргументах функций и условиях отбора записей. По ходу создания выражений область ввода будет автоматически прокручиваться, что позволит продолжить ввод выражения. Однако часто желательно видеть все выражение сразу. Это особенно важно при работе с длинными и сложными выражениями. В таком случае в Access можно воспользоваться специальным окном Область ввода (Zoom). Чтобы его открыть, щелкните на месте ввода выражения и нажмите комбинацию клавиш < Shift+F2>.

При вводе выражений Access проверяет синтаксис выражения и автоматически вставляет следующие символы:

  • Квадратные скобки ([]); в них заключаются имена элементов управления, в которых нет пробелов или знаков пунктуации.
  • Знаки фунта (#); в них заключаются распознанные даты.
  • Кавычки (" " ); в них заключается текст, не содержащий пробелов или знаков пунктуации.

Вычисляемые поля

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

  • Щёлкнуть на пустой ячейке строки Поле (Field)
  • Ввести в неё:

Имя_поля: Выражение


Вспомогательные операторы

ОператорLike

Оператор Like сравнивает два строковых объекта с помощью шаблона, состоящего из символов подстановки. Он проверяет, соответствует ли один объект шаблону другого объекта. Результатом сравнения может быть значение Истина (True), Ложь (False) или Null

Для работы с оператором Like используется следующий синтаксис:

выражение Like шаблон

Если объект-выражение соответствует объекту-шаблону, то формула возвращает истинное значение.

Этот оператор является мощным и гибким инструментом для сравнения строк Для увеличения гибкости в шаблоне могут использоваться символы подстановки (читайте приведенную ниже врезку " Использование символов подстановки" ).

Вот еще несколько примеров использования оператора Like.

Выражение

[Фамилия] Like " И[Вв]*"

истинно, если в поле Фамилия находится строка текста, которая начинается с символов " Ив" или " ИВ". Таким образом, строка " Иванов" или " Иваненко", или " ИВЛЕВ" дает истинное значение, а строка " Петров" или " Сидоров" — ложное

Выражение

[Результат] Like " [! д-яД-Я]"

истинно, если в поле Результат находится буква А, Б, В, Г, а, б, в или г. Для других букв результат будет ложным.

Выражение

" АВ1989" Like " AB#f##"

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

Выражение

" 110-й пройденный круг" Like " [1]*круг"

истинно, поскольку первым символом строки должен быть символ 1, а в конце должно быть слово круг.

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

Символ Соответствие
? Один символ (A-Z, А-Я, 0-9) F
* Любое количество символов (0-n)
# Любая цифра (0-9)
[список] Любой символ из списка
[! список] Любой символ неиз списка

Оператор Between...And

Оператор Between...And используется для определения, находится ли данный объект в некотором диапазоне значений. Его синтаксис выглядит следующим образом:

Выражение Between Значение 1 And Значение 2

Результат данного выражения будет истинным, если величина, заданная параметром Выражение, находится в указанных пределах, определяемых параметрами Значение 1 и Значение 2.

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

IIF([Сумма займа] Between 0 And 250, " Немедленное погашение", " Погашение через 30 дней" )

Если сумма займа не превышает $250, то данная функция будет возвращать напоминание о том, что нужно погасить долг немедленно. В противном случае возвращается напоминание, что долг нужно погасить через 30 дней.

Оператор In

Оператор In используется для проверки, совпадает ли значение выражения с одним из элементов указанного списка. Он имеет следующий синтаксис:

Выражение In (Значение 1, Значение 2, ...)

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

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

IIF([Животные] In (" Кошка", " Собака" ), " Домашние животные", " Экзотические животные" )

Если в поле Животные будет введена строка " Кошка" или " Собака", то функция вернет строку " Домашние животные", а в противном случае возвращается строка " Экзотические животные".

Оператор Is

Оператор Is используется только вместе с ключевым словом Null для определения, является ли объект пустым. Общий синтаксис таков:

Выражение Is Null, Значение 1

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

IIF([Фамилия клиента] Is Null, " Нужно ввести фамилию клиента" )


Резюме

§ В Access существует несколько типов операторов: математические, сравнения,

§ строковые и булевы, а также группы вспомогательных операторов.

§ Операции сравнения выполняются с помощью операторов =, о, >, > =, < и < =.

§ Для объединения двух строк используется оператор &.

§ В шаблоне оператора Like можно использовать пять символов подстановки: *, ?, #, [список] и [! список].

§ К булевым относятся операторы And, Or, Eqv, Imp, Xor и Not.

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

§ Функции — это маленькие программы, возвращающие значение. Access имеет сотни встроенных функций.

§ Функции делятся на следующие категории: преобразования типа, даты/времени, финансовые, математические, строковые и статистические по подмножеству.

§ В выражениях можно использовать операторы, имена объектов, функции, литералы и константы.

§ Для создания выражения можно использовать Построитель выражений (Expression Builder).

§ Имена объектов заключаются в квадратные скобки ([]). Обычно объекты состоят из именованных полей.

§ Два особых идентификатора, восклицательный знак и точка, помогают идентифицировать такие объекты Access, как формы, отчеты, запросы и таблицы, а также их свойства.

 


Поделиться:



Последнее изменение этой страницы: 2017-03-14; Просмотров: 1430; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.048 с.)
Главная | Случайная страница | Обратная связь