1 / 1 / 1
Регистрация: 03.12.2010
Сообщений: 49
|
|
1 | |
Создание формы для поиска записи из таблицы01.05.2012, 21:02. Показов 73602. Ответов 76
Метки нет (Все метки)
Доброго времени суток!!! У меня такая проблема не могу создать поиск по таблице значения введенного с формы. То есть есть форма "Ведите номер КПО" там всего 1 текстовое поле и 2 кнопки, при нажатии на кнопку ок должна выводится определенная запись из таблицы. Я в коде нечего не понимаю но по менющке еще кое что смогу покликать.
0
|
01.05.2012, 21:02 | |
Ответы с готовыми решениями:
76
Создание формы поиска на сайте. Почему не выводится результат поиска при вводе символов в поле поиска? Создание формы для поиска Создание формы для поиска Создание формы и скрипта для поиска |
2095 / 1171 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
|
||||||
02.05.2012, 13:11 | 2 | |||||
Сообщение было отмечено как решение
Решение
Пример простого поиска с использованием всего одной строки кода VBA и запроса на выборку:
Допустим, есть таблица Клиенты с полями КодКлиента, ОКПО, Наименование клиента. -Создаем форму с полем со списком для выбора кода ОКПО, назовем его КритОКПО. В источник данных для него добавляем поля КодКлиента и ОКПО, при этом на экран выводим только ОКПО путем задания ширины полей подстановки (0см;2см). Т.о. поле со списком содержит значение кода клиента, а на экран выводится код ОКПО. -Создаем запрос на основе таблицы Клиенты, для поля КодКлиента задаем условие отбора - равенство критерию отбора на форме. При этом, если критерий не задан: IsNull(Forms![Поиск]![КритОКПО]), то покажем все записи - "*". Т.о. условие отбора для поля КодКлиента: Like IIf(IsNull(Forms![Поиск]![КритОКПО]);"*";Forms![Поиск]![КритОКПО]) -На форму поиска добавляем подчиненную ленточную форму на основе созданного запроса -На событие После обновления поля со списком КритОКПО обновляем подчиненную форму:
7
|
7446 / 4580 / 302
Регистрация: 12.08.2011
Сообщений: 14,280
|
|
03.05.2012, 06:42 | 3 |
Сообщение было отмечено как решение
Решение
А вот тоже самое, только без единой строчки кода и даже без использования запроса
7
|
2095 / 1171 / 39
Регистрация: 05.11.2009
Сообщений: 1,605
|
|
08.05.2012, 07:21 | 4 |
alvk, как????
1
|
7446 / 4580 / 302
Регистрация: 12.08.2011
Сообщений: 14,280
|
|
08.05.2012, 13:47 | 5 |
Ameli, что как? "ловкость рук и никакого мошеннства" (c)
2
|
1 / 1 / 1
Регистрация: 03.12.2010
Сообщений: 49
|
|
09.05.2012, 03:30 [ТС] | 6 |
Всем спасибо, очень помогли!!!
0
|
2638 / 1337 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
|
|
14.05.2012, 12:30 | 7 |
Сообщение было отмечено как решение
Решение
Ameli, если alvk не придумал никаких других хитростей, то в данном случае используются свойства объекта Подчиненная форма Клиенты ОСНОВНЫЕ ПОЛЯ и ПОДЧИНЕННЫЕ ПОЛЯ.
В свойство ОСНОВНЫЕ ПОЛЯ прописывается имя поля со списком (КритОКПО), а в свойство ПОДЧИНЕННЫЕ ПОЛЯ имя поля, по которому осуществляется фильтр (КодКлиента)
3
|
mpot
|
|
13.06.2012, 15:14 | 8 |
Очень крутой способ, спасибо!
Подскажите пожалуйста, как еще можно реализовать фильтр по множественному выбору значений одного поля? То есть, если нужно выбрать сразу несколько кодов ОКПО? |
3356 / 1775 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
|
|
13.06.2012, 15:38 | 9 |
Сообщение было отмечено как решение
Решение
К примеру создать на форме список(поставив в свойствах списка Несвязное выделение - Со связным выбором) с ОКПО.
И менять источник записей в зависимости от выбранных значений в списке. См. приложение. Зажав Ctrl выбираешь в списке несколько ОКПО, во втором списке данные будут отфильтрованы.
7
|
mpot
|
|
13.06.2012, 17:45 | 10 |
Agapov_stas, нереально круто.
Огромное спасибо. |
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 3
|
|
21.06.2012, 11:10 | 11 |
Добрый день.
выбор работает только с числовым значением поля ОКПО. Можно ли сделать так, что бы ОКПО было текстовым с возможностью частичного ввода(LIKE"*ОКПО*")? Если не затруднит выложите пример.
0
|
3356 / 1775 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
|
|
21.06.2012, 15:28 | 12 |
Да, можно.(см.вложение)
Не понял... ИЛИ выбирать несколько значений(хоть числовых, хоть текстовых, не важно) ИЛИ при вводе(т.е. событие Change поля) значения в поле менять значения в списке.. Что именно? Или Вы имеете ввиду, что: 1. Выбрать несколько значений ОКПО 2. Вводя во второе поле значение, фильтровать исходя из УЖЕ выбранных ОКПО?
1
|
3356 / 1775 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
|
|
21.06.2012, 16:13 | 13 |
Если все же нужно, чтобы фильтрация одновременно была(т.е. по другому полю включая выделенные ОКПО), то вот..
1
|
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 3
|
|
21.06.2012, 17:47 | 14 |
пока не разобрал почему у меня в первом случае не выходило с текстом.
я пытаюсь вместо окпо подставить значения из другой таблицы, но мне надо чтоб выбиралось значения содержащие часть данных. если брать пример из последней программы, мне надо чтоб были все ОКПО содержащие "ук" и "е". Или "1" и "2" и "3у". С уважением Виктор.
0
|
3356 / 1775 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
|
|
21.06.2012, 18:37 | 15 |
1
|
0 / 0 / 0
Регистрация: 21.06.2012
Сообщений: 3
|
|
22.06.2012, 10:20 | 16 |
Agapov_stas, Вы гений!
именно то что надо. у меня есть таблица с 100 000 записей и там надо находить данные с тем или иным содержанием. при этом поиски периодические, с добавлениями. Ваш вариант самый лучший для таких поисков. Огромное спасибо за помощь. С уважением Виктор.
0
|
3356 / 1775 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
|
|||||||||||
22.06.2012, 10:24 | 17 | ||||||||||
Виктор, вероятно, что есть и лучше(быстрее по выполнению) способ.
Это был лишь вариант.. P.S. в строчке:
1
|
20 / 20 / 0
Регистрация: 22.08.2012
Сообщений: 103
|
|
22.08.2012, 10:37 | 18 |
Спасибо! А как организовать подобнейший же поиск, но по нескольким критериям отбора.
При чем, необходимо отображение всех записей, и при выборе параметров поиска производилась автоматическая фильтрация? Поля поиска: Населенный пункт, цена ОТ-ДО, количество комнат ОТ - ДО
0
|
26818 / 14497 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
|
||||||
22.08.2012, 11:22 | 19 | |||||
Использовать удобнейший инструмент Основные поля/Подчиненные поля (LinkMaster/ChildFields) не получится, поскольку задаются интервалы. Удобно, в данном случае, сформировать динамический запрос в коде и задать его SQL-строку строку свойству RecordSource подчиненной формы.
Формирование запроса, например так
Функция NZ здесь применена для выполнения условия показывать все, если какой-то параметр не выбран. Код для населенного пункта также учитывает возможность выбрать все, если он не задан. Имена контролов формы и полей таблицы следует исправить на истинные. И последнее. Вместо текстового имени населенного пункта, лучше использовать его числовой код из справочника населенных пунктов. Если такого справочника нет, надо его создать. Иначе вас ждут неожиданные и трудноуловимые ошибки в разном написании одного и того же пункта
1
|
alexman
|
|
23.09.2012, 19:30 | 20 |
|
23.09.2012, 19:30 | |
23.09.2012, 19:30 | |
Помогаю со студенческими работами здесь
20
Создание формы для редактирования таблицы Копирование данных одного поля из разделенной формы (таблицы) в нужные записи другой таблицы Перенос id-а открытой записи из Формы 1 в источник записи для Формы 2 Выбрать по 1 записи из таблицы 2 для каждой записи из таблицы 1 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |