Microsoft Access (663301), страница 2
Текст из файла (страница 2)
Поиск данных
В Microsoft Access существует множество способов отобрать только требуемые данные при выполнении поиска конкретного значения, одной записи или группы записей.
· С помощью диалогового окна Поиск легко найти конкретные записи или определенные значения в полях. При обнаружении каждого вхождения требуемого элемента выполняется перемещение по записям. Если нужно заменить конкретные обнаруженные при поиске значения, следует воспользоваться диалоговым окном Замена.
· Фильтры позволяют временно изолировать и просмотреть конкретный набор записей в открытой форме или в открытом объекте в режиме таблицы.
· Запросы дают возможность работать с конкретным набором записей, которые удовлетворяют условиям, заданным для одной или нескольких таблиц базы данных. При выполнении запроса становится возможной независимая работа с этим набором записей в конкретной форме или в объекте в режиме таблицы.
Метод поиска данных
Диалоговое окно Поиск
Диалоговое окно Замена
Фильтр в таблице, запросе или форме
Запрос
Свойство Фильтр (Filter) определяет подмножество записей, выводящихся после применения фильтра к форме, запросу или таблице.
Значения
Значение свойства Фильтр (Filter) определяется строковым выражением, содержащим предложение WHERE без ключевого слова WHERE. Например, следующие инструкции Visual Basic определят фильтр, отбирающий клиентов из России:
Me.Filter = "Страна = 'Россия'"
Me.FilterOn = True
Значение данного свойства задается в окне свойств формы или отчета, в макросе или в программе Visual Basic.
Кроме того, можно задать значение данного свойства в режиме формы или в режиме таблицы. Для этого следует выбрать в меню Записи команду Фильтр и одну из команд в подменю.
Примечание. Значения свойства Фильтр (Filter) не оказывают влияния на свойство Filter объектов доступа к данным.
Дополнительные сведения
Свойство Фильтр (Filter) используется для сохранения фильтра, который предполагается применять в дальнейшем. Фильтры сохранятся вместе с объектами, в которых они созданы. Сохраненные фильтры автоматически загружаются вместе с объектами, но при этом не применяются автоматически.
При создании нового объекта он наследует значения свойств Источник записей (RecordSource), Фильтр (Filter), Порядок сортировки (OrderBy) и Сортировка включена (OrderByOn) таблицы или запроса, на базе которых создается объект.
Для применения сохраненного фильтра к форме, запросу или таблице следует нажать кнопку Применить фильтр на панели инструментов, выбрать в меню Записи команду Применить фильтр или задать в макросе или в программе Visual Basic для свойства Фильтр включен (FilterOn) значение True (-1). Для того чтобы применить фильтр в отчете, следует задать значение «Да» для свойства Фильтр включен в окне свойств отчета.
Кнопка Применить фильтр служит индикатором состояния свойств Фильтр (Filter) и Фильтр включен (FilterOn). Пока отсутствует фильтр, который можно применить, эта кнопка является недоступной. Если существующий фильтр уже применен, кнопка Применить фильтр выводится нажатой.
Для автоматического применения фильтра при открытии формы следует указать в свойстве события формы Открытие (OnOpen) либо макрос, содержащий макрокоманду ПрименитьФильтр (ApplyFilter), либо процедуру обработки события, в которой вызывается метод ApplyFilter объекта DoCmd.
Для снятия фильтра следует еще раз нажать нажатую кнопку Применить фильтр, выбрать в меню Записи команду Удалить фильтр или задать в программе Visual Basic для свойства Фильтр включен (FilterOn) значение False (0).
Примечание. Для сохранения фильтра как запроса выберите в меню Файл команду Сохранить как запрос в окне фильтра для формы или в окне расширенного фильтра.
Если значение свойства Фильтр (Filter) задается в режиме конструктора формы, Microsoft Access не проверяет правильность выражения SQL. Если введено неверное выражение SQL, ошибка возникает при применении фильтра.
Новые характеристики фильтров
Благодаря введению двух новых способов применения фильтров, использование фильтров в Microsoft Access 97 стало более удобным и легким.
Тип фильтра Тип поиска
Новое в Access 97
Ввод данных в фильтр
Поиск вхождения точного искомого значения или результата выражения, введенного в поле Фильтр для в контекстном меню, которое открывается после щелчка правой кнопкой мыши на форме или на поле таблицы.
Фильтр по выделенному
Поиск всех записей, содержащих выделенное значение, если непосредственно в форме или в таблице выбрать (выделить) искомое значение, а затем нажать кнопку Фильтр по выделенному на панели инструментов.
Исключение выделенного значения
Поиск всех записей, не содержащих выделенное значение, если непосредственно в форме или в таблице выбрать (выделить) искомое значение, а затем выбрать команду Исключить выделенное в контекстном меню.
Обычный фильтр
Поиск всех записей, содержащих значение или значения, введенные в режиме формы или таблицы с пустыми полями (не содержащими данные). Чтобы задать искомое значение, введите его с клавиатуры или выберите в раскрывающемся списке в поле.
Примечание. Расширенные фильтры создаются в окне расширенного фильтра с помощью бланка запроса, который в предыдущих версиях назывался бланком запроса по образцу (QBE).
Кроме того, фильтры позволяют выполнять следующие операции.
Отбор записей в таблице или запросе
Для отбора записей в таблице или запросе в режиме таблицы можно использовать любой фильтр.
Сохранение фильтра вместе с таблицей, запросом или формой
При сохранении таблицы, запроса или формы также сохраняется и фильтр; однако при повторном открытии этих объектов автоматического применения этого фильтра не происходит. Фильтр применяется при необходимости.
Создание новой формы или отчета на основе отобранных данных
Допустимо создание формы или отчета как непосредственно из отобранных записей, находящихся в открытой таблице или запросе, или на основе закрытой таблицы или запроса с сохраненным фильтром. В последнем случае форма или отчет наследуют фильтр.
Применение, удаление или изменение унаследованного фильтра и порядка сортировки
Для управления фильтром и порядком сортировки, которые наследуются отчетом, используются следующие новые свойства: Фильтр (Filter), Фильтр включен (FilterOn), Порядок сортировки (OrderBy) и Сортировка включена (OrderByOn). Свойства Фильтр (Filter) и Порядок сортировки (OrderBy) также применимы к формам, таблицам и запросам, однако для их изменения вместо непосредственной установки их значений допустимо использование фильтров и сортировки.
Применение фильтра к подчиненной форме
Фильтр позволяет наложить ограничения на записи подчиненной формы, не накладывая ограничений на записи главной формы.
Управление фильтрами из программ или из макросов
Создание индекса для ускорения поиска и сортировки записей
При помощи индексов сортировка и поиск записей ускоряется. В таблицах Microsoft Access индексы используются также как и в книгах: чтобы найти данные, осуществляется их поиск в индексе. Можно создать индексы, основанные на одном или нескольких полях. Составные индексы позволяют пользователю провести различия между записями, в которых первые поля могут иметь одинаковые значения.
Выбор полей для индексирования
В основном требуется индексировать поля, для которых часто осуществляется поиск, сортировка или поля, объединенные с полями из других таблиц в запросах. Однако иногда при использовании индексов действие замедляется, например, при добавлении запросов составные индексы должны обновляться.
Ключевые поля таблицы индексируются автоматически. Нельзя индексировать поля с типом данных поле МЕМО, гиперссылка или объект OLE. Для остальных полей индексирование используется, если выполняются следующие условия.
· Поле имеет текстовый, числовой, денежный тип или тип даты/времени.
· Не нужно осуществлять поиск значений в поле.
· Не нужно осуществлять сортировку значений в поле.
· Не нужно осуществлять сортировку различных значений в поле. Если поле содержит много одинаковых значений, то применение индекса незначительно ускорит работу запросов.
Составные индексы
Если предполагается, что сортировка или поиск двух и более полей одновременно будет часто выполняться, можно создать составной индекс. Например, если для одного и того же запроса часто устанавливается критерий для полей «Имя» и «Фамилия», то для этих двух полей имеет смысл создать составной индекс.
При сортировке таблицы по составному индексу сначала осуществляется сортировка по первому полю, определенному для данного индекса. Если в первом поле содержатся записи с повторяющимися значениями, то сортировка осуществляется по второму полю, определенному для данного индекса, и так далее.
Предполагаемые действия
Определение индекса для одного поля
Определение составного индекса
Просмотр и редактирование индексов
Связывпание баз данных.
Внимание! Перед тем как приступить к импорту или связыванию данных, необходимо создать или открыть базу данных Microsoft Access, в которой будут содержаться импортированные или связанные таблицы. Для получения дополнительных сведений о создании базы данных нажмите кнопку .
Microsoft Access поддерживает импорт или связывание данных из таблиц других баз данных Microsoft Access (версий 1.x, 2.0 и 7.0/95 и 8.0/97), а также данные из других приложений и файлов других форматов, например, Microsoft Excel, dBASE, Microsoft FoxPro или Paradox. Microsoft Access также обеспечивает импортирование и связывание языковых таблиц и списков (только для чтения), которые могут находится на персональном компьютере, на сетевом сервере или на сервере Интернета.
При импорте данных создается их копия в новой таблице текущей базы данных Microsoft Access. Исходная таблица или файл при этом не изменяются. Связывание данных позволяет читать и в большинстве случаев обновлять данные во внешнем источнике данных без их импорта. Формат внешних источников данных не меняется, поэтому файл можно продолжать использовать в приложении, в котором он был создан, но при этом появляется возможность добавлять, удалять или изменять данные в Microsoft Access.
В Microsoft Access для обозначения связанных таблиц и таблиц, хранящихся в текущей базе данных, используются разные значки. Если удалить значок связанной таблицы, удаляется связь с таблицей, но не сама внешняя таблица.
Импортируемые данные нельзя сразу добавлять в существующие таблицы (за исключением импорта таблиц или текстовых файлов). Однако после импорта таблицы можно добавить данные в другую таблицу с помощью запроса на добавление.
Допускается импорт не только таблиц, но и других объектов баз данных, например, форм или отчетов из другой базы данных Microsoft Access.
Если приходится регулярно повторять операцию импорта, автоматизируйте этот процесс с помощью макросов или программ на языке Visual Basic для приложений.
Макрос
Макросом называют набор из одной или более макрокоманд, выполняющих определенные операции, такие как открытие форм или печать отчетов. Макросы могут быть полезны для автоматизации часто выполняемых задач. Например, при нажатии пользователем кнопки можно запустить макрос, который распечатает отчет.
Макрос может быть как собственно макросом, состоящим из последовательности макрокоманд, так и группой макросов. В некоторых случаях для решения, должна ли в запущенном макросе выполняться определенная макрокоманда, может применяться условное выражение.
Последовательность макрокоманд
Следующий макрос состоит из серии макрокоманд. Эти макрокоманды выполняются каждый раз при запуске макроса. Для запуска макроса следует обратиться к имени макроса «Просмотр товаров».
Группа макросов
При наличии большого числа макросов, объединение родственных макросов в группы может упростить управление базой данных. Для просмотра имен макросов для выбранной группы макросов достаточно в окне макроса в меню Вид выбрать команду Имена макросов.
Например, следующая группа макросов с именем «Кнопки» состоит из трех родственных макросов: «Сотрудники», «Товары» и «Отчеты». В каждом макросе содержится макрокоманда ОткрытьФорму (OpenForm), а в макросе «Товары» кроме того макрокоманда СдвигРазмер (MoveSize).
Имя в столбце Имя макроса определяет каждый макрос. При запуске макроса в группе макросов, выполняется макрокоманда в столбце Макрокоманда, а также все следующие макрокоманды, в которых столбец Имя макроса пуст.
Для запуска макроса из группы макросов следует указать имя группы, а затем, через точку, имя макроса. В предыдущем примере для обращения к макросу «Сотрудники» в группе макросов «Кнопки» следовало использовать синтаксис Кнопки.Сотрудники.
Условные макрокоманды
Для вывода столбца Условие следует в окне макроса в меню Вид выбрать команду Условия. Следующий макрос запускает макрокоманды Сообщение (MsgBox) и ОстановитьМакрос (StopMacro) только в тех случаях, когда условие в столбце Условие истинно (когда поле «КодПоставшика» имеет значение Null).
Создание макроса
1 В окне базы данных выберите вкладку Макросы.
2 Нажмите кнопку Создать.
3 В ячейке столбца Макрокоманда нажмите кнопку раскрытия списка, открывающую список макрокоманд.
4 Выберите имя макрокоманды.
5 Введите текст комментария к макрокоманде (необязательно).
6 В нижней половине окна, при необходимости, укажите аргументы макрокоманды. Для получения дополнительных сведений о задании аргументов макрокоманд нажмите кнопку .
7 Для добавления в макрос других макрокоманд перейдите на следующую строку и повторите шаги с 3 по 6. Макрокоманды выполняются в порядке их расположения в бланке.
Совет. Существует следующий прием быстрого создания макроса, выполняющего действия над конкретным объектом базы данных. Выберите объект в окне базы данных и переместите его с помощью мыши в ячейку макрокоманды в окне макроса. Например, для того чтобы создать макрос, открывающий форму, переместите с помощью мыши форму в ячейку макрокоманды. Для этого расположите окно базы данных и окно макроса рядом на экране с помощью команды Сверху вниз или Слева направо из меню Окно; затем выберите в окне базы данных вкладку объектов нужного типа, выберите объект и переместите его с помощью мыши в ячейку макрокоманды. При переносе макроса в ячейку макрокоманды вводится макрокоманда, запускающая этот макрос, а при переносе других объектов (таблиц, запросов, форм, отчетов или модулей) в макрос добавляется макрокоманда, открывающая объект.
Группировка записей в отчете