Access поиск в форме - IT Справочник
Llscompany.ru

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

Access поиск в форме

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

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

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

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

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

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

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

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

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

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

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

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

Задание

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

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

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

Microsoft Access «Разработка формы общего просмотра для базы данных, состоящей из двух связных таблиц»

Развивающие: уметь создать базу данных из двух связных таблиц, создать форму общего просмотра этих таблиц.

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

Рабочие станции учащихся. ОС Windows XP, Microsoft Office.

Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов / Н.Д. Угринович. — М.: БИНОМ. Лаборатория знаний, 2007.

Требуется разработать Информационно-Поисковую Систему (ИПС) «Изделия Столярной мастерской ПЛ12»

База данных должна содержать две таблицы «Изделия» и «Комплектующие»

Таблица «Изделия» содержит поля

  • Код изделия -числовое, ключевое
  • Наименование изделия — текстовое
  • Изображение изделия — OLE

Таблица «Комплектующие» содержит поля

  • Код изделия -числовое
  • Наименование материала — текстовое
  • Количество — числовое
  • Единица измерения — текстовое
  • Цена -денежное

Таблицы связаны по полю КОД связью один ко многим.

Занести данные — пять изделий и к каждому его комплектующие.

Создать форму общего просмотра, подчиненную. В ней создать кнопки:

  • Следующая запись
  • Предыдущая запись
  • Выход
  • Добавление
  • Удаление
  • Список всех изделий
  • Создать общее меню ИПС

1. Создадим Базу Данных «Мастерская»

Читать еще:  Что такое поле мемо в access

Открыть программу ACCESS

2. Щёлкнуть по строке Создать файл (в правой части окна)

В открывшемся окне, в правой части

щелкнуть по строке Новая база данных

В открывшемся окне, в строке Имя файла, с клавиатуры ввести Мастерская

Откроется стандартное рабочее окно программы ACCESS

1. Для создания таблиц в окне Объекты щёлкнем по строке Таблицы, в окне справа по строке Создание таблицы в режиме конструктора

В строке имя поля набираем имя первого поля таблицы Изделия — это Код, нажимаем клавишу Ввода (Enter), курсор переместится во второй столбец Тип данных. Щёлкнуть по кнопке N , откроется список всех типов полей, выбрать числовое. В стандартной строке щёлкнуть по кнопке ключевое поле

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

Закрываем окно Таблица1, щёлкнув по кнопке На запрос о сохранении отвечаем ДА

В открывшемся окне Сохранение с клавиатуры вводим имя таблицы Изделия и щёлкаем ОК

Появится стандартное окно программы ACCESS

Аналогично создадим таблицу Комплектующие

На запрос о создании ключевых полей ответить НЕТ

Установим связь между таблицами по полю Код. Щёлкаем по значку Схема данных

Выделяем таблицу Изделия и щёлкаем по кнопке Добавить, выделяем таблицу Комплектующие и щёлкаем по кнопке Добавить, затем щёлкаем по кнопке Закрыть.

Откроется следующее окно

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

Проставить галочки (просто щёлкнуть мышью) во все маленькие окнам

И щёлкнуть по кнопке Создать. Откроется окно

Закрыть окно Схема данных (Щёлкнуть по кнопке в правом верхнем углу окна). На запрос о сохранении ответить ДА.

Заполнить таблицы Изделия и Комплектующие. В стандартном окне Access (Рисунок 10) быстро дважды щёлкнуть по таблице Изделия и ввести данные. В поле Изображение нажать правую кнопку мыши, в контекстном меню выбрать Вставить объект. В открывшемся окне выбрать Вставить из файла и в окне Обзор указать полный путь к файлу с рисунком изделия. Аналогично заполнить таблицу Комплектующие

Для создания подчиненной формы общего просмотра выбираем объект Форма и щёлкаем по строке создание формы с помощью мастера

В строке таблицы и запросы выбираем таблицу Изделия и стрелкой >> выбираем все поля этой таблицы. Затем выбираем таблицу Комплектующие и стрелкой > по одному выбираем все поля, кроме Кода и щёлкаем кнопку Далее.

Щёлкаем по строке Подчиненные формы и затем по кнопке Далее. Откроется окно

Выбираем вид Табличный и щёлкаем Далее Откроется окно

Выбираем любой стиль, например Официальный и щёлкаем Далее. Откроется окно

В строке Форма с клавиатуры вводим имя формы Общий просмотр и щёлкаем Готово

Откроется окно формы Общий просмотр

Создадим в ней кнопку Предыдущая запись, для чего откроем форму Общий просмотр в режиме Конструктор. Выбираем объект Формы, выделяем форму Общий просмотр, щёлкаем по кнопке Конструктор

В панели элементов выбираем значок Кнопка и рисуем кнопку в Форме, откроется окно

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

Выберем рисунок Указатель влево и щёлкнем Готово. Наша кнопка в Форме примет вид

Аналогично создадим Кнопку Следующая запись. Для создания кнопок Добавления и Удаления выбираем Категорию Обработка записей. Действие Добавить запись и Удалить запись. Для Кнопки выхода из Формы выбираем Категорию Работа с формой, Действие Закрыть форму. В результате Форма Общий просмотр примет вид

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

Щёлкаем в нём по строке Поиск записи в форме на основе значения, которое содержит список и затем Далее. Откроется следующее окно

Выделяем поле Наименование и стрелкой > выбираем его, щёлкаем Далее. Откроется окно

Щёлкаем Далее, в открывшемся окне в строке задайте подпись с клавиатуры вводим Выбор изделия и щёлкаем Готово

Форма примет вид

Для работы с Формой закрыть её в режиме Конструктор, щёлкнув в правом углу по кнопке и в стандартном окне ACCESS (рисунок 10) выбираем объект Формы и дважды щёлкаем по форме Общий просмотр.

Обеспечение возможности поиска записи путем выбора значения из списка

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

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

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

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

Создание списка или поля со списком

В области навигации щелкните форму правой кнопкой мыши и выберите команду Конструктор.

Читать еще:  Ограничения access длина

На вкладке Конструктор в группе Элементы управления выберите параметр Использовать мастера .

В группе элементы управления нажмите кнопку список или поле со списком.

В форме щелкните в том месте, где нужно поместить список или поле со списком.

На первой странице мастера в поле со списком или списке выберите пункт Поиск записи на форме, а затем нажмите кнопку Далее.

Параметр » найти запись. » недоступен.

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

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

Нажмите кнопку Отмена, чтобы закрыть мастер.

Щелкните правой кнопкой мыши список или поле со списком, которое вы создали ранее, и выберите команду Удалить.

Если область задач Страница свойств не отображается, нажмите клавишу F4, чтобы отобразить ее.

В верхней части страницы свойств выберите пункт форма .

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

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

Выбор существующей таблицы или запроса в качестве источника записей

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

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

Щелкните поле свойства Источник записей , а затем щелкните появившуюся стрелку раскрывающегося списка.

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

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

Создание нового сохраненного запроса или преобразование инструкции SELECT в сохраненный запрос

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

В окне свойства Источник записей нажмите кнопку Построить .

Access откроет поСтроитель запросов.

Если первоначально поле свойства источника записей было заполнено, откроется диалоговое окно Добавление таблицы , в котором можно создать новый запрос. Дополнительные сведения см. в статье Создание простого запросана выборку. Завершив создание запроса, перейдите к шагу 2.

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

На вкладке Конструктор в группе Закрытие выберите команду Сохранить как.

В диалоговом окне Сохранить как введите имя запроса в поле Сохранить «запросn» в: « .

Убедитесь в том, что в поле где выбран запрос , и нажмите кнопку ОК.

На вкладке Конструктор в группе Закрытие выберите команду Закрыть.

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

Access отобразит форму в режиме конструктора и изменит значение свойства Источник записей таким образом, чтобы на экране появится новое сохраненное имя запроса.

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

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

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

Создание формы для поиска записи из таблицы

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

Создание формы для поиска
Добрый день. Я только начала работать с программой access. Уже научилась создавать запросы и формы.

Создание формы для поиска
Доброго времени суток коллеги! Как то понадобилось мне создать форму для поиска по всем записям.

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

Решение

Решение

Решение

Очень крутой способ, спасибо!

Подскажите пожалуйста, как еще можно реализовать фильтр по множественному выбору значений одного поля?
То есть, если нужно выбрать сразу несколько кодов ОКПО?

Решение

К примеру создать на форме список(поставив в свойствах списка Несвязное выделениеСо связным выбором) с ОКПО.
И менять источник записей в зависимости от выбранных значений в списке.

Читать еще:  Отсутствуют разрешения на использование объекта access

См. приложение.
Зажав Ctrl выбираешь в списке несколько ОКПО, во втором списке данные будут отфильтрованы.

Не понял.
ИЛИ выбирать несколько значений(хоть числовых, хоть текстовых, не важно)
ИЛИ при вводе(т.е. событие Change поля) значения в поле менять значения в списке..

Или Вы имеете ввиду, что:
1. Выбрать несколько значений ОКПО
2. Вводя во второе поле значение, фильтровать исходя из УЖЕ выбранных ОКПО?

Виктор, вероятно, что есть и лучше(быстрее по выполнению) способ.
Это был лишь вариант..

Этот код можно поместить на кнопку или на процедуру AfterUpdate каждого из контролов условий формы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задание

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

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

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

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector