Поиск в аксессе - IT Новости
Microclimate.su

IT Новости
308 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Поиск в аксессе

Макрокоманда «ПоискЗаписи»

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

Настройка

Макрокоманда ПоискЗаписи имеет следующие аргументы:

Выберите или введите тип объекта базы данных, в котором будет выполняться поиск. Можно выбрать значение Таблица, Запрос, Форма или Отчет.

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

Укажите начало и направление поиска.

Поиск назад от текущей записи.

Поиск вперед от текущей записи.

Поиск вперед от первой записи. Это значение по умолчанию.

Поиск назад от последней записи.

Введите условия поиска, используя синтаксис предложения WHERE инструкции SQL, только без слова WHERE. Например:

Чтобы создать условие, содержащее значение из текстового поля в форме, следует написать выражение, объединяющее первую часть условия с именем текстового поля, содержащего значение, по которому будет проводиться поиск. Например, в следующем условии будет выполняться поиск в поле Description по значению текстового поля txtDescription в форме frmCategories. Обратите внимание на знак равенства ( =) в начале выражения и на одинарные кавычки ( ‘) по обеим сторонам ссылки на текстовое поле:

Примечания

Если более чем одна запись соответствует условию, заданному в аргументе Условие отбора, на результат поиска могут оказать влияние следующие факторы:

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

Порядок сортировки записей. Например, если аргумент Запись имеет значение Первая, изменение порядка сортировки записей может отразиться на том, какая запись будет найдена.

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

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

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

Для запуска макрокоманды ПоискЗаписи в модуле VBA используйте метод SearchForRecord объекта DoCmd.

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

В аргументе Условие отбора могут использоваться составные условия, например:

Description = «Напитки» and Category >

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

    Можно использовать логические операторы, такие как >, AND, OR и BETWEEN. Макрокоманда НайтиЗапись ищет только строки, равные искомой строке, начинающиеся с нее или содержащие ее.

    Пример

    Следующий макрос открывает таблицу Categories с помощью команды ОткрытьТаблицу. Затем с помощью команды ПоискЗаписи ищется первая запись таблицы, в поле Description которой содержится значение «Напитки».

    Имя таблицы: Categories

    Режим данных: Изменение

    Тип объекта: Таблица

    Имя объекта: Categories

    Условие отбора: Description = «Напитки»

    Макросы Access 2007. Ускорение поиска

    Создадим двумя способами кнопку «Поиск фамилии» для быстрого поиска покупателя по фамилии в форме “Покупатель”. Первый способ – использование стандартных возможностей Access 2007. Второй способ – использование макроса.

    Использование стандартных возможностей Access 2007

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

    Замечание. Если не запускается мастер создания кнопок, его надо включить на панели инструментов.

    Читать еще:  Аксесс экспорт в эксель

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

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

    Для примера создадим подобную кнопку поиска для формы «Товар». Создадим поле для ввода начала названия товара. Откроем эту форму в режиме конструктора и перетащим туда пиктограмму Поле в нижнюю часть формы. Вызовем список свойств правой части поля (первоначально оно имеет обозначение Свободный) щелчком правой кнопки мыши и заменим Имя на Поиск данное имя в дальнейшем будет использоваться. В строке состояния (свойство Текст строки состояния) введем текст: «Введите название товара или его первые буквы». Вызовем список свойств для левой части Поля (Надписи) и заменим Подпись также на Поиск. Закроем форму.

    Дальше создадим макрос «Поиск». Он будет состоять из трех макрокоманд. Откроем вкладку Создание, нажмем кнопку Макрос. С помощью команд панели инструментов Имена макросов включим дополнительный столбец Имя макроса. Введем туда в первой строке слово Поиск. В колонке Макрокоманда выберем макрокоманду КЭлементуУправления. В области Аргументы макрокоманды в нижней части окна в качестве Имени элемента введем текст [Наименование] (в этом поле таблицы ТОВАР будет искаться товар с указанным именем). Во второй строчке во втором столбце Макрокоманда выберем из списка макрокоманд команду НайтиЗапись. В аргументах макрокоманды введем с клавиатуры в поле Образец поиска текст =[Поиск] (т.е. будет разыскиваться в поле Наименование таблицы ТОВАР запись, начало названия товара в которой совпадает с введенным в поле Поиск значением). В поле Совпадение выберем из списка элемент «С начала поля». Остальные элементы оставим без изменения. В третьей строке во втором столбце выберем снова макрокоманду КэлементуУправления, в аргументах макрокоманды для Имени элемента введем [Поиск]. Квадратные скобки вводить обязательно!

    Созданный нами макрос будет работать следующим образом. Вначале выбирается поле Наименование таблицы ТОВАР для организации поиска. Затем по образцу из поля Поиск формы осуществляется поиск первой по порядку нужной нам записи. Затем фокус опять передается в поле Поиск для возможного продолжения поиска.

    Закроем макрос и сохраним его с именем «Поиск товара». Теперь опять откроем форму «Товар» и перетащим туда макрос «Поиск товара». Появится кнопка с соответствующей подписью. Для поиска товара нужно ввести первые буквы названия товара, нажать кнопку «Поиск», будет найдена нужная запись (если она существует). Обратите внимание, то если ничего не вводить в окне Поиск, то при нажатии кнопки будет выдано сообщение об ошибке! В СУБД Access 2007 существуют способы обработки подобных ситуаций – макросы с условиями, но мы их рассматривать не будем.

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

    Задание

    1. Создать в форме «Покупатель» аналогичные кнопки для поиска покупателя по началу фамилии.
    2. Создать в форме «Заказ» кнопку поиска записей, имеющих совпадающую с вводимой в специальном поле дату.

    Связанные статьи

    Рекомендую прочесть статьи, связанные с данной:

    Добавить комментарий Отменить ответ

    Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

    Макросы Access 2007. Ускорение поиска

    Создадим двумя способами кнопку «Поиск фамилии» для быстрого поиска покупателя по фамилии в форме “Покупатель”. Первый способ – использование стандартных возможностей Access 2007. Второй способ – использование макроса.

    Использование стандартных возможностей Access 2007

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

    Замечание. Если не запускается мастер создания кнопок, его надо включить на панели инструментов.

    Читать еще:  Как в аксессе создать базу данных

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

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

    Для примера создадим подобную кнопку поиска для формы «Товар». Создадим поле для ввода начала названия товара. Откроем эту форму в режиме конструктора и перетащим туда пиктограмму Поле в нижнюю часть формы. Вызовем список свойств правой части поля (первоначально оно имеет обозначение Свободный) щелчком правой кнопки мыши и заменим Имя на Поиск данное имя в дальнейшем будет использоваться. В строке состояния (свойство Текст строки состояния) введем текст: «Введите название товара или его первые буквы». Вызовем список свойств для левой части Поля (Надписи) и заменим Подпись также на Поиск. Закроем форму.

    Дальше создадим макрос «Поиск». Он будет состоять из трех макрокоманд. Откроем вкладку Создание, нажмем кнопку Макрос. С помощью команд панели инструментов Имена макросов включим дополнительный столбец Имя макроса. Введем туда в первой строке слово Поиск. В колонке Макрокоманда выберем макрокоманду КЭлементуУправления. В области Аргументы макрокоманды в нижней части окна в качестве Имени элемента введем текст [Наименование] (в этом поле таблицы ТОВАР будет искаться товар с указанным именем). Во второй строчке во втором столбце Макрокоманда выберем из списка макрокоманд команду НайтиЗапись. В аргументах макрокоманды введем с клавиатуры в поле Образец поиска текст =[Поиск] (т.е. будет разыскиваться в поле Наименование таблицы ТОВАР запись, начало названия товара в которой совпадает с введенным в поле Поиск значением). В поле Совпадение выберем из списка элемент «С начала поля». Остальные элементы оставим без изменения. В третьей строке во втором столбце выберем снова макрокоманду КэлементуУправления, в аргументах макрокоманды для Имени элемента введем [Поиск]. Квадратные скобки вводить обязательно!

    Созданный нами макрос будет работать следующим образом. Вначале выбирается поле Наименование таблицы ТОВАР для организации поиска. Затем по образцу из поля Поиск формы осуществляется поиск первой по порядку нужной нам записи. Затем фокус опять передается в поле Поиск для возможного продолжения поиска.

    Закроем макрос и сохраним его с именем «Поиск товара». Теперь опять откроем форму «Товар» и перетащим туда макрос «Поиск товара». Появится кнопка с соответствующей подписью. Для поиска товара нужно ввести первые буквы названия товара, нажать кнопку «Поиск», будет найдена нужная запись (если она существует). Обратите внимание, то если ничего не вводить в окне Поиск, то при нажатии кнопки будет выдано сообщение об ошибке! В СУБД Access 2007 существуют способы обработки подобных ситуаций – макросы с условиями, но мы их рассматривать не будем.

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

    Задание

    1. Создать в форме «Покупатель» аналогичные кнопки для поиска покупателя по началу фамилии.
    2. Создать в форме «Заказ» кнопку поиска записей, имеющих совпадающую с вводимой в специальном поле дату.

    Связанные статьи

    Рекомендую прочесть статьи, связанные с данной:

    Добавить комментарий Отменить ответ

    Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

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

    Учебная дисциплина
    Информатика и компьютерная техника
    Модуль 2. Офисные прикладные программы Microsoft Office 2007

    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) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.

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

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

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

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

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

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

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

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

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

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

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

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

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

    Copyright

    © Обучение в интернет, .
    Обратная связь

    0 0 голоса
    Рейтинг статьи
    Ссылка на основную публикацию
    Adblock
    detector