Как в access сделать поиск по фамилии?

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

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

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

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

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

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

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

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

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

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

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

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

Задание

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

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

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

Поиск записей в базе данных Access

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

Читать еще:  Как сделать калькулятор в access?

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

Примечание: Эта статья не относится к веб-приложения Access — тип базы данных оформление с Access и публикации в Интернете. Дополнительные сведения в статье Создание веб-приложения Access

В этой статье

Просмотрите все записи

Можно просматривать записи из режим таблицы с помощью кнопок навигации по записям в нижней части таблицы или формы.

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

2. Перейдите к предыдущей записи

3. поле текущей записи

4. перейти к следующей записи

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

6. Откройте запись (пусто)

7. индикатор фильтр

Можно также использовать клавишу TAB для перемещения между одну запись за раз.

Переход к определенной записи

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

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

Примечание: Если вы знаете нескольких первых знаков записи, к которому нужно перейти, эти знаки можно введите в поле Перейти к.

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

Поиск записи

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

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

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

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

Откройте таблицу или форму и выберите поле, которое требуется найти.

На вкладке «Главная» в группе Найти нажмите кнопку Найти.

Откроется диалоговое окно Найти и заменить с выбранной вкладкой Найти.

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

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

Совет: Список совпадение представляет вашей оператор сравнения (например, «равняется» или «содержит»). Чтобы расширить область поиска, в списке совпадение щелкните Любой части поля.

В списке поиска выберите » все» и нажмите кнопку Найти далее.

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

Фильтр для отображения определенных записей

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

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

Чтобы убедиться в том, что таблицы или формы не уже фильтруется, на вкладке Главная в группе Сортировка и фильтр нажмите кнопку Дополнительно и выберите команду Очистить все фильтры, если эта команда доступна.

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

На вкладке Главная в группе Сортировка и фильтр нажмите кнопку Выделение и щелкните нужный фильтр.

Чтобы выполнить фильтрацию других полей в зависимости от выделения, повторите шаги 3 и 4.

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

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

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

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

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

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

Читать еще:  Как сделать базу данных в access 2013 пошагово?

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

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

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

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

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

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

Задание

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

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

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

Как в access сделать поиск по фамилии?

На этом шаге будет рассмотрено создание вычисляемых полей.

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

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

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


Рис. 1. Построитель выражений

С ее помощью можно выполнять различные вычисления с использованием данных, находящихся в БД — полей таблиц, запросов, форм и отчетов. Все перечисленные объекты БД находятся, соответственно, в папках Таблицы, Запросы, Forms и Reports в левой части Построителя.

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

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

Также существует возможность использования в выражении различных функций Access. Для этого в левой части окна необходимо открыть папку Функции и выбрать пункт Встроенные функции. Затем следует в средней части Построителя определить категорию, в которой находится требуемая функция, и выбрать после этого в правой части окна название искомой функций (рис. 2, 3). Создаваемое таким образом выражение отображается в верхней части окна Построителя выражений.


Рис. 2. Построитель выражений. Встроенные функции

Читать еще:  Как сделать форму главной в access?


Рис. 3. Построитель выражений. Текстовая функция Left

Например, необходимо в запросе ПреподавателиПредметы вместо поля Фамилия добавитъ вычисляемое поле, в котором содержались бы фамилия и инициалы преподавателя.

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

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

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

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

Фамилия & Символ Пробела & Инициал имени & Символ точки & Инициал отчества & Символ точки.

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

Фамилия & » » & Инициал имени & «.» & Инициал отчества & «.».

Таким образом, начало выражения будет следующим:

Фамилия & » » &

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

Чтобы добавить функцию в выражение, необходимо дважды щелкнуть на папке Функции и выбрать после этого раздел Встроенные функции (рис. 2).

Затем во втором столбце необходимо выбрать требуемую категорию, в данном случае Текстовые, и после этого в третьем столбце выбрать нужную функцию, т.е. Left (рис. 3).

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

Left («stringexpr»; «n») ,

в котором необходимо указать значения требуемых параметров. В частности, вместо stringexpr нужно указать поле Имя, а вместо n — количество символов, которые необходимо получить из строки, т.е. 1. Таким образом, текущее выражение примет вид:

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


Рис. 4. Построитель выражений. Поле Имя таблицы Преподаватели

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

[Имя таблщы] ! [Название поля]

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

Чтобы вернуться в окно конструктора запросов, необходимо нажать кнопку ОК. В результате созданное выражение будет находиться в строке Поле первого столбца запроса. Для выполнения запроса следует воспользоваться кнопкой Запуск , после чего в запросе будет создано вычисляемое поле Выражение1, в котором содержатся фамилия и инициалы преподавателя.

Названия полей запроса формируются автоматически. Для полей таблиц названия совпадают с названиями соответствующих полей запроса (например, поле Название). С другой стороны, названия вычисляемых полей формируются автоматически; Выражение1, Выражение2 и т. д. Очевидно, что такие названия не являются информативными.

Чтобы установить подпись для поля в таблице или запросе, необходимо в режиме конструктора установить курсор в требуемое поле (в частности, в поле Выражение1) и нажать кнопку Свойства . После этого в диалоговом окне Свойства поля можно на вкладке Общие указать в строке Подпись то название поля, которое будет использоваться вместо исходного в режиме редактирования запроса (или таблицы), а также в формах и отчетах. В частности, для вычисляемого поля Выражение1 можно указать подпись ФИО (рис. 5).


Рис. 5. Диалоговое окно Свойства поля

Таким образом, был создан и выполнен запрос на выборку с использованием вычисляемого поля (рис. 6).


Рис. 6. Запрос на выборку с вычисляемым полем ФИО

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

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

Предыдущий шаг Содержание Следующий шаг

Ссылка на основную публикацию
Adblock
detector