Access как найти строку

Access для Microsoft 365 Access 2021 Access 2019 Access 2016 Access 2013 Access 2010 Еще…Меньше

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

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

В этой статье

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

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

  • Поиск записи

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

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

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

Кнопки перехода

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

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

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

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

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

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

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

8. Поле поиска

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

К началу страницы

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

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

Поле "Перейти"

  • Чтобы перейти к записи, щелкните стрелку справа от кнопки “Перейти”, а затем выберите запись из списка.

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

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

К началу страницы

Поиск записи

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

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

Изображение ленты Access

Это эффективное решение для поиска определенной записи, если она соответствует определенным условиям, таким как условия поиска и операторы сравнения, такие как “равно” или “содержит”.

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

  1. Откройте таблицу или форму, а затем щелкните поле, в которое нужно в поиске.

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

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

    Диалоговое окно "Поиск и замена"

  3. В поле “Найти что” введите значение, по которому нужно искать.

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

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

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

  6. Когда выделен элемент, для которого вы ищете, нажмите кнопку “Отмена” в диалоговом окне “Найти и заменить”, чтобы закрыть диалоговое окно. Выделяются записи, которые соответствуют вашим условиям

К началу страницы

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

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

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

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

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

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

  5. Чтобы отфильтровать другие поля по выделенному фрагменту, повторите шаги 3 и 4.

К началу страницы

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

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

Существует несколько способов создания поискового поля, самый распространённый из них – при помощи мастера для элемента управления «Поле со списком».

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

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

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

Зададим следующие свойства для свободного поля «ПолеПоиск» (для этого надо выделить его в режиме конструктора и нажать клавишу F4):

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

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

На вкладке «События» определяем для свойства «После обновления» макрос «МакросПоиск».

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

Макрос состоит всего из двух команд:

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

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

По мере введения символов программа будет автоматически предлагать подходящие записи. Когда выбрана нужная запись, можно нажать клавишу «Enter» или «Tab». Курсор будет автоматически переведён в область данных формы на нужную запись.

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

Теперь нажимаем «Enter» или «Tab» и фокус ввода перейдёт на нужную нам запись в область данных формы:

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

  • 1.2K
  • 23 марта 2005 года
  • Kalitkin

108 / / 05.03.2004

  1. Цитата:
  2. Originally posted by nut_y_z И как его применить
  3. сначал коннектишься к базе данных
  4. CDatebase db;
  5. CRecordset* prs;

db.OpenEx(«DBQ=db.mdb;Driver={Microsoft Access Driver (*.mdb)}»)

  • prs = new CRecordset(&db);
  • а потом все в твоих руках, например нужен чел с фамилией Робинович:
  • клипаем запрос
  • CString s, name(«Робинович»), surname;
  • s.Format(«SELECT * FROM mans WHERE surname=’%s’ ORDER BY id», name);
  • теперь в объект рекордсета выбираем данные из базы данных в соответствии с запросом
  • prs->Open(CRecordset::snapshot, s);
  • prs->GetFieldValue(«surname», surname); prs->Close();

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

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

Откроем форму «Покупатель» в режиме конструктора. С панели элементов перенесем пиктограмму Кнопка в нижнюю часть формы. Будет вызван мастерСоздание кнопки.

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

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

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

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

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

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

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

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

Вызовем список свойств для левой части Поля(Надписи) и заменим Подпись также на Поиск. Закроем форму.

Дальше создадим макрос «Поиск». Он будет состоять из трех макрокоманд. Откроем вкладку Созданиенажмем кнопку Макрос.С помощью команд панели инструментов  Имена макросоввключим дополнительный столбец Имя макроса. Введем туда в первой строке слово Поиск. В колонке Макрокоманда выберем макрокоманду КЭлементуУправления.

В области Аргументы макрокоманды в нижней части окна в качестве Имени элемента введем текст (в этом поле таблицы ТОВАР будет искаться товар с указанным именем). Во второй строчке во втором столбце Макрокоманда выберем из списка макрокоманд команду НайтиЗапись. В аргументах макрокоманды введем с клавиатуры в поле Образец поиска текст = (т.е.

будет разыскиваться в поле Наименование таблицы ТОВАР запись, начало названия товара в которой совпадает с введенным в поле Поиск значением). В поле Совпадение выберем из списка элемент «С начала поля». Остальные элементы оставим без изменения.

В третьей строке во втором столбце выберем снова макрокоманду КэлементуУправления, в аргументах макрокоманды для Имени элемента введем . Квадратные скобки вводить обязательно!

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

Закроем макрос и сохраним его с именем «Поиск товара». Теперь опять откроем форму «Товар» и перетащим туда макрос «Поиск товара». Появится кнопка с соответствующей подписью.

Для поиска товара нужно ввести первые буквы названия товара, нажать кнопку «Поиск», будет найдена нужная запись (если она существует).

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

Но таким образом можно найти лишь первую запись на введенную букву. Нетрудно организовать еще одну кнопку «Поиск далее». Для этого сделаем копию макроса «Поиск товара» через буфер обменаи назовем его «Поиск далее».


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

Теперь будет идти поиск и последующих записей с тем же началом в поле Наименование.

Задание

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

Источник: http://word-office.ru/kak-sdelat-poisk-v-access.html

Запросы в Access 2013 с помощью элементов формы

Создание формы Пошук

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

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

Получим форму в режиме макета. Кликнем правой кнопкой мышки по форме и выберем в контекстном меню Свойства формы (или Работа с макетами форм — Конструктор — Сервис — Страница свойств).

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

Справа появится Окно свойств. В выпадающем списке строки Источник записей вкладки Данные выберем Для форми пошуку

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

После этого в сервисе выберем Добавить поля. Окно свойств сменится на Список полей.

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

Добавим на форму следующие элементы (перетягивание мышкой из списка полей на форму):

Дата (дважды), Найменування клієнта, Адреса, Телефон, Рахунок, Найменування товару, Ціна (дважды), Кількість (дважды), Передоплата, Сума передоплати (дважды).

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

  • Изменим надписи для даты, цены, количества и суммы предоплаты.
  • Дата:Дата з:
  • Дата:Дата по:
  • Ціна:Ціна від:
  • Ціна:Ціна до:
  • Кількість:Кількість від:
  • Кількість:Кількість до:
  • Сума передоплати:Сума передоплати від:
  • Сума передоплати:Сума передоплати до:

Выделим поле напротив надписи Дата з:. В инструментах конструктора форм выберем вкладку Конструктор. Откроем окно свойств для выделенного элемента (Сочетание клавиш ALT+ENTER; Конструктор — Сервис — Страница свойств или в контекстном меню выбрать Свойства)

В окне свойств перейдем на вкладку Другие и в строке Имя впишем Дата з

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

Перейдем на вкладку Данные и в строке Данные сотрем Дата

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

В строке Значение по умолчанию впишем #02.01.2010#; в строке Правило проверки впишем >#01.01.2010# и в строке Сообщение об ошибкеВведіть дату після 1 січня 2010 року! (см. свойства таблицы Данні про замовлення)

Аналогично поступим и с другими полями формы.

Дата по: вписываем имя Дата по в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем Date(); в строке Правило проверки впишем >#01.01.2010# и в строке Сообщение об ошибкеВведіть дату після 1 січня 2010 року!.

  1. Найменування клієнта:, Адреса:, Телефон:, Рахунок:Найменування товару: очищаем строку Данные вкладки Данные.
  2. Ціна від: вписываем имя Ціна від в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1; в строке Правило проверки впишем >0 и в строке Сообщение об ошибкеВведіть суму > нуля!
  3. Ціна до: вписываем имя Ціна до в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1000 (можно вписать любое число, ориентируйтесь на максимальную цену); в строке Правило проверки впишем >0 и в строке Сообщение об ошибкеВведіть суму > нуля!
  4. Кількість від: вписываем имя Кількість від в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1; в строке Правило проверки впишем >0 и в строке Сообщение об ошибкеВведіть кількість > нуля!
  5. Кількість до: вписываем имя Кількість до в строке Имя вкладки Другие;очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1000 (можно вписать любое число, ориентируйтесь на максимальное количество); в строке Правило проверки впишем >0 и в строке Сообщение об ошибкеВведіть кількість > нуля!
  6. Передоплата: очищаем строку Данные вкладки Данные.

Сума передоплати від: вписываем имя Сума передоплати від в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем . ; в строке Правило проверки впишем >=0 и в строке Сообщение об ошибкеВведіть суму, яка більше або дорівнює нулеві!

Сума передоплати до: вписываем имя Сума передоплати до в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1000 (можно вписать любое число, ориентируйтесь на максимальную сумму предоплаты); в строке Правило проверки впишем >=0 и в строке Сообщение об ошибкеВведіть суму, яка більше або дорівнює нулеві!

Преобразуем поле Найменування клієнта в поле со списком (контекстное меню поля)

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

Выполним следующее: Окно свойствДанныеИсточник строкДовідник клієнтівНайменування клієнта — закрыть построитель запросов и подтвердить сохранение.

Аналогично преобразуем в поле со списком Найменування товару. В качестве источника выбрать Найменування товару.

В результате получим

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

Закроем и сохраним форму под именем Пошук

Источник: https://Bondarenko.dn.ua/informatics/zaprosy-v-access-2013-s-pomoshh-yu-e-lementov-formy/

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

В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.

В СУБД Access 2007 применяются различные типы запросов: на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).

Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.

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

На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.

Как сделать поиск в access? Рис. 1.

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

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

Как сделать поиск в access? Рис. 2.

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

Как сделать поиск в access? Рис. 3.

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

Как сделать поиск в access? Рис. 4.

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

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

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

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

Как сделать поиск в access? Рис. 5.

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

Как сделать поиск в access? Рис. 6.

Далее создаем параметрический query или query с параметрами.

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

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

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

Как сделать поиск в access? Рис. 7.

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

Как сделать поиск в access? Рис. 8.

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

Далее >>> Раздел: 2.4.6. Создание форм для ввода данных в таблицы базы данных Access 2007

Источник: https://www.lessons-tva.info/edu/inf-access/access_5.html

Поисковое поле со списком в Access

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

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

  1. На вкладке «События» определяем для свойства «После обновления» макрос «МакросПоиск».
  2. Как сделать поиск в access?
  3. Макрос состоит всего из двух команд:
  4. Как сделать поиск в access?
  5. Как сделать поиск в access?

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

По мере введения символов программа будет автоматически предлагать подходящие записи. Когда выбрана нужная запись, можно нажать клавишу «Enter» или «Tab». Курсор будет автоматически переведён в область данных формы на нужную запись.

Источник: https://accesshelp.ru/poiskovoe-pole-so-spiskom-v-access/

Поиск, сортировка, индексирование базы данных, создание форм и отчетов в Access

Поиск данных

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

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

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

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

Выбор полей для индексирования

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

Ключевые поля таблицы индексируются автоматически. Нельзя индексировать поля с типом данных поле МЕМО, гиперссылка или объект OLE. Для остальных полей индексирование используется, если выполняются следующие условия.

  • • Поле имеет текстовый, числовой, денежный тип или тип даты/времени.
  • • Не нужно осуществлять поиск значений в поле.
  • • Не нужно осуществлять сортировку значений в поле.

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

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

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

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

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

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

Невозможно сортировать поля МЕМО, гиперссылки или объекты OLE.

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

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

Для настройки формы следует переключиться в режим конструктора.

Создание отчета. Пользователь имеет возможность разработать отчет самостоятельно или создать отчет с помощью мастера. Мастер по разработке отчетов Microsoft Access выполняет всю рутинную работу и позволяет быстро разработать отчет.

Семантическое моделирование данных (ER-диаграммы). Цель семантического моделирования. Основные этапы семантического моделирования. E/R-модель и соответствующая ей диаграммная техника (E/R-диаграммы). Проектирование базы данных на основе E/R-модели.

Модель «сущность-связь» (entity-relationship model) ER-модель данных – это графический язык определения требований пользователя к данным. Спецификации требований представляются в виде диаграммы, показывающей объекты ПО, их связи и свойства объектов и связей. Существует много различных систем графических обозначений (нотаций), используемых для построения ER-диаграмм.

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

Элементы ER-модели. Базовыми элементами ER-модели являются сущности, атрибуты, идентификаторы и связи.

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

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

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

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

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

Сущность может иметь несколько уник. и неуник. идентиф.

Связи – это отношения сущностей. ER-модель различает классы и экземпляры связей.

Описание сущностей и их связей – это и есть (с точки зрения проектировщика БД) основная часть концептуальной модели требований пользователя к данным.

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

Изображение атрибутов на диаграммах «сущность-связь»

Некоторые версии нотаций ER-диаграмм предусматривают обозначения для атрибутов. Атрибут изображается именованным эллипсом. Эллипс соединяется дугой с прямоугольником сущности. Контур эллипса сплошной для простого атрибута, штриховой – для производного и двойной – для многозначного.

Компоненты составного атрибута обозначаются эллипсами, соединёнными дугами с эллипсом атрибута. Имена атрибутов, составляющих идентификатор сущности, подчёркиваются. Связь, как и сущность, может иметь свои атрибуты. Они изображаются эллипсами, соединёнными с ромбом связи.

Семантический подход, в отличие от формального, предполагает параллельное выполнение анализа ПО и проектирование логического макета БД. В основе подхода лежат понятия ER-модели данных. Процесс проектирования включает три этапа.

На первом этапе: формируется представление о компонентах бизнеса, идентифицируются сущности и связи. Получение детальной информации о свойствах объектов ПО и их взаимосвязях.

На втором этапе Формирование логического макета БД с точностью до ключей. Детально просматриваются экземпляры и типы сущностей, целостность данных, ссылочная целостность, первичные, внешне ключи и т.д.

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

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

Методологии семантического подхода.

1.Использование графических языков для представления ER- модели (наглядность, точность, ясность) представления своих представлений о данных с помощью диаграмм.

2.Глоссарий для однозначного определения имен сущностей и атрибутов. Он позволяет показать то, что нельзя изобразить графически.

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

Требования к диаграммам ER-уровень

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

На ER-уровне сущности не различаются как зависимые или независимые, а соединения – как идентифицирующие и неидентифицирующие.

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

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

Источник: https://cyberpedia.su/16x1db9.html

Сортировка и фильтрация записей в Access

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

Из этой статьи вы узнаете, как сортировать и фильтровать записи.

О сортировке и фильтрации

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

Сортировка записей

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

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

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

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

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

По убыванию означает спуск или наибольшее значение для чисел и от Z до A для текста.

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

В нашем примере мы будем выполнять сортировку по таблице. Однако вы можете сортировать записи в любом объекте Access. Процедура в основном такая же.

Для сортировки записей:

  1. Выберите поле в ячейке, которую вы хотите сортировать. В этом примере мы сортируем по фамилиям клиентов.
  2. Перейдите на вкладку « Главная » на ленте и найдите группу « Сортировка и фильтр ».
  3. Отсоедините поле, выбрав команду « Восходящий» или « Убывание» .
    • Выберите «Восходящий» для сортировки текста от A до Z или для сортировки чисел от наименьшего до самого большого. Мы выберем это в нашем примере, потому что мы хотим, чтобы последние имена были в порядке A-to-Z.
    • Выберите «Спуск», чтобы отсортировать текст от Z до A или отсортировать номера от самых больших до самых маленьких.
  4. Теперь таблица будет отсортирована по выбранному полю.
  5. Чтобы сохранить новый вид, нажмите кнопку « Сохранить» на панели быстрого доступа.

После сохранения сортировки записи будут отсортированы таким образом, пока вы не выполните другой сортировку или не удалите текущий. Чтобы удалить сортировку, просто нажмите команду «Удалить сортировку».

Фильтрация записей

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

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

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

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

В наших примерах и пояснениях мы будем применять фильтры к таблицам. Однако вы можете применять фильтры к любому объекту Access. Процедура в основном такая же.

Чтобы создать простой фильтр:

  1. Нажмите стрелку раскрывающегося списка рядом с полем, в которое вы хотите отфильтровать. Мы будем фильтровать по городу, потому что мы хотим увидеть список клиентов, которые живут в определенном городе.
  2. Появится раскрывающееся меню с контрольным списком. В отфильтрованные результаты будут включены только проверенные элементы. Используйте следующие параметры, чтобы определить, какие элементы будут включены в ваш фильтр:
    • Выберите и снимите флажки по одному, установив флажки. Здесь мы отменим выбор всех параметров, кроме Cary .
    • Нажмите «Выбрать все», чтобы включить каждый элемент в фильтр. При нажатии кнопки «Выбрать все» второй раз снимите все элементы.
    • Нажмите «Пусто», чтобы настроить фильтр для поиска только записей без данных в выбранном поле.
  3. Нажмите «ОК» . Фильтр будет применен. В таблице наших клиентов теперь отображаются только клиенты, которые живут в Кэри.

Переключение фильтра позволяет включать и выключать его. Чтобы просмотреть записи без фильтра, просто нажмите кнопку Toggle Filter . Чтобы восстановить фильтр, щелкните его еще раз.

Создание фильтра из выделения

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

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

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

Чтобы создать фильтр из выделения:

  1. Выберите ячейку или данные, с которыми вы хотите создать фильтр. Мы хотим увидеть список всех продуктов, содержащих слово « шоколад» в их именах, поэтому в поле «Название продукта» мы выберем слово «шоколад».
  2. Выберите вкладку « Главная » на ленте и найдите группу «Сортировка и фильтр».
  3. Нажмите стрелку раскрывающегося списка «Выбор».
  4. Выберите тип фильтра, который вы хотите настроить:
    • Содержит только записи с ячейками, которые содержат выбранные данные. Мы выберем это, потому что хотим видеть записи, содержащие слово « шоколад» в любом месте названия.
    • Не содержит все записи, кроме тех, которые содержат ячейки, содержащие выбранные данные.
    • Ends With включает только записи, данные которых для выбранного поля заканчиваются поисковым термином.
    • Не заканчивается. Включает все записи, кроме тех, чьи данные для выбранного поля заканчиваются поисковым термином.
  5. Фильтр будет применен. В нашей таблице теперь отображаются только продукты со словом шоколад в их именах.

Создание фильтра из поискового запроса

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

Фильтрация текста по поисковому запросу

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

  • Равные значения , которые включают только записи с данными, которые идентичны выбранным данным
  • Не равен , что включает все записи, кроме данных, которые идентичны выбору
  • Начинается с , который включает только записи, данные которых для выбранного поля начинаются с поискового запроса
  • Не начинается с , включая все записи, кроме тех, чьи данные для выбранного поля начинаются с поискового запроса

Чтобы фильтровать текст по поисковому запросу:

  1. Нажмите стрелку раскрывающегося списка рядом с полем, в которое вы хотите отфильтровать. Мы хотим отфильтровать записи в нашей таблице заказов, чтобы отображать только те, которые содержат заметки с определенной информацией, поэтому мы нажмем стрелку в поле « Примечания» .
  2. В раскрывающемся меню наведите указатель мыши на слова Text Filters . В появившемся списке выберите способ, которым фильтр должен соответствовать введенному вами термину. В этом примере мы хотим просмотреть только записи, чьи заметки указывают, что заказ был размещен для стороны. Мы выберем Contains, чтобы мы могли искать записи, содержащие слово party.
  3. Появится диалоговое окно «Пользовательский фильтр». Введите слово, которое вы хотите использовать в своем фильтре.
  4. Нажмите «ОК» . Фильтр будет применен.

Фильтрация чисел с поисковым термином

Процесс фильтрации номеров с поисковым термином аналогичен процессу фильтрации текста. Однако при работе с числами доступны различные параметры фильтрации. В дополнение к Равно и не равно , вы можете выбрать:

  • Больше, чем включать только записи с числами в этом поле, которые больше или равны числу, которое вы вводите
  • Меньше, чем включать только записи с номерами в этом поле, которые меньше или равно числу, которое вы вводите
  • Между включениями записей с цифрами, которые попадают в определенный диапазон

Чтобы фильтровать числа по поисковому запросу:

  1. Нажмите стрелку раскрывающегося списка рядом с полем, в которое вы хотите отфильтровать. Мы хотим отфильтровать записи в нашей таблице пунктов меню по цене, поэтому мы нажмем стрелку в поле « Цена» .
  2. В раскрывающемся меню наведите указатель мыши на слова Number Filters . В появившемся списке выберите способ, которым фильтр будет соответствовать вашему поисковому запросу. В этом примере мы хотим создать фильтр, который покажет нам только недорогие предметы. Мы хотим видеть предметы под определенной ценой, поэтому мы выберем Less Than .
  3. Появится диалоговое окно «Пользовательский фильтр». Введите число или цифры, которые вы хотите использовать в своем фильтре. Мы напечатаем 5, чтобы фильтр показывал нам только пункты меню, стоимость которых не превышает 5 долларов.
  4. Нажмите «ОК» . Фильтр будет применен.

Конкретные типы чисел могут включать в себя другие параметры фильтрации. Например, даты, хранящиеся в числовой форме (mm / dd / yy-eg, 12/01/2010), включают опции для фильтрации по периодам времени.

Источник: https://maxfad.ru/ofis/ms-access/459-sortirovka-i-filtratsiya-zapisej-v-access.html

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

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

Поиск и замена записей в базе Access

Кнопка «Поиск» — Поиск и замена записей в базе Access

В результате на экране появится окно диалога «Поиск и замена». Второй способ вызова данного окна — комбинация клавиш Ctrl+F.

Затем на вкладке «Поиск» выполняем следующие действия:
• вводим значение, которое шлется, в поле ввода Образец;
• щелкаем на кнопке Найти далее, чтобы найти первую запись в таблице, которая содержит указанное значение в этом поле;
• если найденная запись не отвечает заданному критерию поиска, щёлкаем на кнопке Найти далее, пока нужная запись не будет найдена; диалоговое окно останется открытым до щелчка на кнопке Закрыть.

Поиск и замена записей в базе Access

Окно «Поиск» — Поиск и замена записей в базе Access

Если Access не может найти запись, то на экран выводится сообщение о том, что поиск записи был завершён, и образец найден не был. В дополнение к традиционному способу поиска на вкладке «Поиск» имеется несколько дополнительных опций.
Раскрывающийся список Просмотр содержит опции, с помощью которых определяется направление поиска:

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

По умолчанию Access ищет полностью совпадающие с образцом данные. Значения, введённые в поле ввода Образец, должны полностью соответствовать введённым в поля данным.
Раскрывающийся список Совпадения содержит три установки, которые определяют тип сравнения данных с образцом, введённым для поиска:
• с любой частью поля (осуществляет поиск по всему полю; если значение, которое ищется, окажется где угодно в поле поиска, то поиск завершается успешно);
• поля целиком (образец поиска должен совпадать с полным значением поля, что позволяет существенно сузить поле поиска);
• с начала поля (поиск завершается успешно только в том случае, если образец поиска находится в начале данного поля).

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

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

Поиск и замена записей в базе Access

Подстановочные символы — Поиск и замена записей в базе Access

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

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

Поиск и замена записей в базе Access

Окно «Замена» — Поиск и замена записей в базе Access

В диалоговом окне имеются характерные кнопки Заменить и Заменить всё. Если выбрать Заменить всё, Access заменит все вхождения, соответствующие образцу поиска, заданному в поле Образец. Опция Заменить позволяет изменять образец поиска после каждого вхождения образца в таблице.
Рекомендуется следующая стандартная процедура поиска и замены:
• ввести образец поиска в поле ввода Образец и нажать Найти далее;
• ввести новое значение, на которое надо изменить образец, в поле ввода Заменить на и нажать Заменить. Access заменит найденный образец на значение, указанное в Заменить на;
• после замены Access находит следующее вхождение образца и останавливает поиск, можно ввести новое значение в поле ввода Заменить на или оставить его без изменения.
В этом уроке вы узнали, как работает Поиск и замена записей в базе Access. Если было интересно, то рекомендую посмотреть видеоурок ниже.

Изменение внешнего вида таблицы Access

0 / 0 / 0

Регистрация: 03.04.2008

Сообщений: 39

1

03.04.2008, 11:04. Показов 6144. Ответов 14


Студворк — интернет-сервис помощи студентам

Подскажите, кто знает как сотворить поиск записи по базе Access?



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

03.04.2008, 11:04

Ответы с готовыми решениями:

Исчезли последние записи в базе Access
Добрый день! Есть 6 клиентских компьютеров + 1 серверный. На серверном лежат базы данных Access к…

Поиск по Базе Access
Всем привет друзья, у меня такой вопрос как реализовать поиск по базе сразу по нескольким ключам?…

поиск по базе Access
Всем привет. Использую Visual C++ 6.0. Делаю приложение с использованием базы данных.
Нашел…

Поиск записи в базе
Добрый!
Имеется база данных и форма с DataGridView. Соединение, вроде как, установилось. Имеется…

14

Ghost

03.04.2008, 11:08

2

чего? неясен вопрос. Если надо искать по всем таблицам – ищи по всем таблицам.

0 / 0 / 0

Регистрация: 03.04.2008

Сообщений: 39

03.04.2008, 11:16

 [ТС]

3

Да нет, просто я пока только изучаю VB, а срочно нужно сделать поиск записи в Access. Мне нужен простой пример кода, как строится поиск записи по базе, а дальше я разберусь. Подскажите, если не не сложно. База Access – .mdb файл.



0



Ghost

03.04.2008, 11:49

4

Что значит – поиск записи по базе? Поиск строки в таблицЕ или таблицАХ???

0 / 0 / 0

Регистрация: 03.04.2008

Сообщений: 39

03.04.2008, 12:52

 [ТС]

5

поиск строки в таблице



0



Ghost

03.04.2008, 13:51

6

Конкретного поля или целой строки?

Для поля

Код

    Dim vx as Variant
    vx = DLookUp('ИмяПоля','ИмяТаблицы'[,'Условие'])

условие без WHERE
    например, vx = DLookUp('Name','Users','UserID = 12345')

для строки

Код

    Dim rs as DAO.RecordSet
    set rs = CurrentDb.OpenRecordset('Users',dbOpenDynaset)
    rs.Filter = '[UserID] =  12345'
    set rs = rs.OpenRecordset

Такие пироги

0 / 0 / 0

Регистрация: 03.04.2008

Сообщений: 39

03.04.2008, 14:02

 [ТС]

7

Большое Вам человеческое спасибо



0



0 / 0 / 0

Регистрация: 20.02.2008

Сообщений: 181

03.04.2008, 14:24

8

Можно воспользоваться FindFirst

Value – что ищем
в dbsearch получаем ID
поля в табл: [ID], [Name]

Set Database = OpenDatabase(‘x:…???.mdb’)
‘запросом тоже можно фильтровать используя SELECT … FROM … WHERE …
SQL = ‘SELECT Names.ID, Names.Name FROM [Names];’
Set Recordset = Database.OpenRecordset(SQL)
Criteria = ‘Name = ” & Value & ”’
With Recordset
.FindFirst Criteria
If .NoMatch Then
dbsearch = 0
Else
dbsearch = !ID
End If
End With



0



Ghost

03.04.2008, 14:56

9

тоже честный способ.
Неплохо подходит, когда надо сделать 10-1000 поисков – по крайней мере на 1000 поисках будет быстрее DLookup’а и серии одиночных поисков моими (вышеописанными, т.е. переоткрытия рекордсета) методами.
При необходимости провести > 10000 поисков лучше уточнить условия задачи – т.к. все предложенные способы покажут НИЗКОЕ шустробыстрие.

Ghost

03.04.2008, 15:00

10

да, в догонку – недоглядел.
Возвращать лучше Null, а не 0 ))))
Видел я как-то базу на Access, где в ПКе был 0 – вот повеселиться-то можно было бы )))
А уж для SQL Server 0 в PK сделать – как 2 пальца.

Резюм:
Для одиночного поиска поля – лучше DLookUp
Для поиска СТРОКИ – или переоткрытие с фильтром (чуть дольше, чем ) или поиск по FindFirst (чуть быстрее)
Для массового поиска – только FindFirst
Для очччень массового – тут надо логику писать на SQL – такая переделка сократила у меня время работы проги с ЧАСОВ до МИНУТ (да, код на VBA писал не я)

0 / 0 / 0

Регистрация: 20.02.2008

Сообщений: 181

03.04.2008, 16:22

11

Насчёт 0 согласен. К тому-же если возврат будет не ID(Primary Key) (при поиске значение всегда будет не NULL) а другое поле.
Но пример на то и пример – не есть готовое решение. Можно позволить вольности. Обработку возможных ошибок тоже вставлять надо.
Глядишь и написали бы целое НЕЧТО тут )

‘Для очччень массового ‘ логика простая – дополнительно фильтруем.
Не SQL = ‘SELECT Names.ID, Names.Name FROM [Names];’
а SQL = ‘SELECT Names.ID, Names.Name FROM [Names] WHERE (((Names.Name)=’ & DQUOTE & Value & DQUOTE & ‘));’ (где DQUOTE = ””)

C уважением,

ma3ai



0



Ghost

03.04.2008, 18:03

12

хмммм….

под оччччень массовым я понимал работу с 20000 тыс записей в одной таблице, к которой прсобачено еще так 5 таблиц с еще по 10000 тыс записей ))

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

0 / 0 / 0

Регистрация: 20.02.2008

Сообщений: 181

03.04.2008, 18:23

13

Дык то оно и есть … можно и 500000 раз такое дело …

P.S. но кофе много не пей – говорят это вредно



0



0 / 0 / 0

Регистрация: 03.04.2008

Сообщений: 39

07.04.2008, 08:08

 [ТС]

14

В общем, мужики, получилось во так:

Private Sub Поле_Поиск_AfterUpdate()
If Len(Trim(Поле_поиск)) <> 0 Then
Организация.SetFocus
DoCmd.FindRecord Trim(Поле_поиск), acAnywhere, False, acSearchAll, False, acCurrent, True
End If
End Sub

Работает как надо. Спасибо за консультацию.



0



Ghost

07.04.2008, 17:13

15

хммммммм……..
Ню-ню, надо было уточнять, ГДЕ ищем – в БАЗЕ или НА ФОРМЕ.

I have looked through several pages and not been able to find what I need. What I found has gotten me something that “works” but not the way I want it to.

SELECT p.ProductName, p.QuantityPerUnit, s.CompanyName, c.CategoryName
FROM Products AS p, Suppliers AS s, Categories AS c
WHERE p.QuantityPerUnit LIKE "*" & [500 g] & "*" AND p.SupplierID = s.SupplierID AND p.CategoryID = c.CategoryID
ORDER BY p.ProductName;

When I run this on the Access DB a window pops up for text to be entered. It has 500 g as the label. If I put 500 g in the text field, the query works. What I want is to be able to run the query using 500 g as the substring to find with out user interaction. I know I am close but am unsure what is incorrect.

I was able to figure this out. The problem was the “[]”. I switched them to single ” and it ran displaying the expected data with out requiring user intervention.

WHERE p.QuantityPerUnit LIKE "*" & '500 g' & "*"

Thank you for taking the time to look at my problem.

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