Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/71: Рейтинг темы: голосов - 71, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 27.02.2010
Сообщений: 190

Поиск в access

27.02.2010, 23:37. Показов 15426. Ответов 56
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
 Комментарий модератора 
Первая ссылка не работает. Сохраняйте вложения на форум!

В условие отбора вписываются значения с тех полей(скрин1) вверху, если я выберу значение в каждом листе(их 7), то поиск работает. Но если я не выберу хотя бы 1 поле, то поиск уже не работает. Мне же нужно сделать что, бы он работал, если выбрано даже 1 поле. Тоесть сделать так: если в списке что то выбрано, то поиск осуществляется по тому, что выбрано. Если нечего не выбрано, то поиск по всем записям.
Миниатюры
Поиск в access  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2010, 23:37
Ответы с готовыми решениями:

Поиск по БД Access
Добрый день! Подскажите пожалуйста. Имеется форма, на ней dgv1 и dgv2, а также кнопка для добавления данных в базу и dateTimePicker1....

Поиск по БД Access
Здравствуйте, у меня такой вопрос, задание в инсте дали вот такое: Допустим я 30.04.2011 работал с Базой и производил следующие действия...

Поиск по Access
Подскажите пожалуйста как организовать поиск в БД Access. Что у меня есть: присоединил БД к проекту, получил textBox-ы (рис. 1), перенес...

56
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
03.03.2010, 20:41
Студворк — интернет-сервис помощи студентам
нету никакой ошибки. если заставить работать этот запрос
SQL
1
SELECT [ALL].marka_auto FROM [ALL] WHERE ((([ALL].marka_auto)=IIf(IsNull([Forms]![2]![ПолеСоСписком32]),([ALL].marka_auto) LIKE "*",[Forms]![2]![ПолеСоСписком32])));
, то твоя проблема будет изящно решена. вопрос к профессионалам, так сказать
1
1 / 1 / 0
Регистрация: 27.02.2010
Сообщений: 190
03.03.2010, 21:05  [ТС]
IIf(IsNull([Forms]![2]![ПолеСоСписком32]),([ALL].marka_auto) LIKE "*",[Forms]![2]![ПолеСоСписком32]
Это впихнуть в условие?У меня не пашет
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
03.03.2010, 21:22
Лучший ответ Сообщение было отмечено как решение

Решение

вот решение проблеммы. источник строк для подчиненной формы
SQL
1
2
3
SELECT [ALL].marka_auto, [ALL].model_auto, [ALL].KoJIu4ecTBo_DBepeu, [ALL].O6beM_6aKa, [ALL].Max_CKopocTb, [ALL].MowHoCTb, [ALL].LLeHa
FROM [ALL]
WHERE (((IIf(IsNull([Forms]![2]![ПолеСоСписком32]),(([ALL].[marka_auto]) LIKE "*"),([ALL].[marka_auto])=[Forms]![2]![ПолеСоСписком32]))<>FALSE) AND ((IIf(IsNull([Forms]![2]![ПолеСоСписком36]),(([ALL].[model_auto]) LIKE "*"),([ALL].[model_auto])=[Forms]![2]![ПолеСоСписком36]))<>FALSE) AND ((IIf(IsNull([Forms]![2]![ПолеСоСписком40]),(([ALL].[KoJIu4ecTBo_DBepeu]) LIKE "*"),([ALL].[KoJIu4ecTBo_DBepeu])=[Forms]![2]![ПолеСоСписком40]))<>FALSE) AND ((IIf(IsNull([Forms]![2]![ПолеСоСписком37]),(([ALL].[O6beM_6aKa]) LIKE "*"),([ALL].[O6beM_6aKa])=[Forms]![2]![ПолеСоСписком37]))<>FALSE) AND ((IIf(IsNull([Forms]![2]![ПолеСоСписком38]),(([ALL].[Max_CKopocTb]) LIKE "*"),([ALL].[Max_CKopocTb])=[Forms]![2]![ПолеСоСписком38]))<>FALSE) AND ((IIf(IsNull([Forms]![2]![ПолеСоСписком39]),(([ALL].[MowHoCTb]) LIKE "*"),([ALL].[MowHoCTb])=[Forms]![2]![ПолеСоСписком39]))<>FALSE) AND ((IIf(IsNull([Forms]![2]![ПолеСоСписком41]),(([ALL].[LLeHa]) LIKE "*"),([ALL].[LLeHa])=[Forms]![2]![ПолеСоСписком41]))<>FALSE));
в аттаче форма 2, поиск по кнопке 47. это то что нужно?
Вложения
Тип файла: zip doh1.zip (46.5 Кб, 201 просмотров)
4
1 / 1 / 0
Регистрация: 27.02.2010
Сообщений: 190
03.03.2010, 22:29  [ТС]
Да, спс, работает так как я и хотел, но я совершенно не понимаю как это работает.
В кнопке47 я нашел только это:
Visual Basic
1
2
3
4
5
6
7
Private Sub Кнопка47_Click()
Recalc
End Sub
 
Private Sub Кнопка47_Enter()
 
End Sub
Какой запрос вообще выполняется?Дело в том, что мне нужно это понять. Я так понял, что это не работает просто через условие, а SQL мы еще не изучали
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
03.03.2010, 22:39
источник данных - КопияЗапрос9
Recalc - команда пересчитать форму. можешь вписать ее в событие LostFocus всех выпадающих списков. тогда поиск будет идти по мере заполнения условий
2
1 / 1 / 0
Регистрация: 27.02.2010
Сообщений: 190
04.03.2010, 00:29  [ТС]
А ты не мог бы подробнее расписать как работает запрос?Ну в смысле
IIf(IsNull([Forms]![2]![ПолеСоСписком32]);(([all].[marka_auto]) Like "*");([all].[marka_auto])=[Forms]![2]![ПолеСоСписком32])
а под ним <>Ложь
Я не понимаю просто как это работает. почему ты его поставил дальше, а не просто в условии

Добавлено через 1 час 13 минут
Эх, не успел( Ладно, все равно спасибо!!!
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
04.03.2010, 01:26
почему что то одно дальше чем другое, и при чем тут <>Ложь низнаю. я такой же специалист как и ты, просто более удачливый в поиске.
будем ждать профессионалов. они смогут дать пояснения.
могу пояснить как я пришел к такой конструкции:
сперва я составил запрос
SQL
1
2
3
SELECT [ALL].marka_auto
FROM [ALL]
WHERE ((([ALL].marka_auto)=[Forms]![2]![ПолеСоСписком32]));
и он работал как ожидалось, ничего не выдавал при пустом ПСС32
тогда я составил такой запрос
SQL
1
2
3
SELECT [ALL].marka_auto
FROM [ALL]
WHERE ((([ALL].marka_auto) LIKE "*"));
и он выдавал все непустые поля из запроса all. как и ожидалось
как видно, эти запросы отличаются только предложением WHERE. осталось скрестить эти два различных предложения посредством управляющей конструкции IIf() в режиме представления SQL (идея, вроде, простая, если в ПСС32 пусто -отбираем все записи, если есть значение - отбираем по нему)
SQL
1
2
3
SELECT [ALL].marka_auto
FROM [ALL]
WHERE (iif(isnull([Forms]![2]![ПолеСоСписком32]),[ALL].marka_auto  LIKE "*",[ALL].marka_auto=[Forms]![2]![ПолеСоСписком32]));
потом я развил столь успешный опыт на остальные поля. удивительно, но это работает
2
1 / 1 / 0
Регистрация: 27.02.2010
Сообщений: 190
04.03.2010, 01:34  [ТС]
А написать условие просто каждым под столбцом не выйдет? Что бы не углубляться в SQL, ибо я даже незнаю где этот код находится. Как работает условие <>Ложь? Что значат <> и все условие
0
paladin
 Аватар для Yurii_74
286 / 187 / 7
Регистрация: 25.02.2009
Сообщений: 589
04.03.2010, 07:32
Что делает в запросе Введите модель авто(Параметрический) какая-то таблица tabl? Если ее выкинуть, то запрос будет работать. Recalc - превычисляет все значения. По хорошему его в такой форме можно не использовать... если запросы правильно написать.

Добавлено через 4 минуты
Хотя не.. чего-то я гоню. Надо подумать.

Добавлено через 30 минут
Цитата Сообщение от bosscs Посмотреть сообщение
А написать условие просто каждым под столбцом не выйдет?
Просмотрите потом результат в виде конструктора. В нем все будет.
1
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
04.03.2010, 11:11
у запроса есть три вида представления: в виде таблицы (отображаются данные отобранные запросом, чтобы быстренько проверить что получилось), в виде визуального конструктора (для наглядного конструирования, лучше всего подходит для новичков) и в виде кода SQL(я так понимаю, для отладки сложных, нестандартных запросов, которые не имеют наглядного представления). так же представление SQL удобно использовать для обмена запросами - скопировал инструкцию из форума, вставил в Access , переключился в представление конструктора и разбираешься что к чему

Добавлено через 38 минут
<>Ложь - не равно Ложь. поэкспериметируй с этим условием, и выведи, к примеру, все марки авто, КРОМЕ указанной в поле формы.
по поводу другого столбца. я так понимаю, предложение WHERE требует такого синтаксиса: ИмяПоля = УсловиеОтбора. тогда запрос просматривает записи из источника FROM, проверяет для каждой записи условие из предложения WHERE , и выводит из выбранных записей поля указанные в SELECT. однако, в предложении WHERE допускается использование выражений, возвращающих нужное условие. тогда на основе этого выражения создается чтото вроде временного набора полей, соединенных с источником FROM и отбор ведется по ним. в этом случае ты не можешь поместить условие отбора в первом столбце, так как там, всего лишь, указаны поля, ктороые должны быть выведены.

Не по теме:

я уже и сам почти понял :)



Добавлено через 23 минуты
Yurii_74, не получается использовать твой запрос. можешь поудалять "двойников" запроса и заново выложить файл? интересно посмотреть
1
paladin
 Аватар для Yurii_74
286 / 187 / 7
Регистрация: 25.02.2009
Сообщений: 589
04.03.2010, 12:06
Будет время сегодня (а я надеюсь, что будет), выложу. Там просто через VBA запрос с именем что-то_там_2 сначала удаляется, потом создается заново (исходя из заполненных полей) по нажатию на кнопке. Просто открой форму 2, задай фильтры и нажми ту Кнопку_47. Дальше смотрим результат запроса.
Лень все это в нормальный вид приводить было.

Добавлено через 29 минут
Можно было вообще через фильтры сделать

Добавлено через 3 минуты
насчет true<>flase - это акс сам додумал. В оригинале было бы:
(true and true and ... <условия, если заданы>... and true);
Все true - это отсутствие условий. Нужны были для того, чтобы не было такого:
"and and and <условие> and ;"
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
04.03.2010, 12:08
насколько я знаю, более менее сложные фильтры затруднительно отладить. да и не для этого они
0
1 / 1 / 0
Регистрация: 27.02.2010
Сообщений: 190
04.03.2010, 12:49  [ТС]
1) Как переключаться между режимами?
Сегодня в инсте свет на паре выключили, так что есть еще время что то понять. Пожно написать по порядку что выполняется? Что делает кнопка 47. Recalc мне нечего не говорит, это что то типа пересчитать, а где сам код, что открывается при нажатии кнопки и т.д.
0
paladin
 Аватар для Yurii_74
286 / 187 / 7
Регистрация: 25.02.2009
Сообщений: 589
04.03.2010, 12:51
Цитата Сообщение от bosscs Посмотреть сообщение
Recalc
Кода для него ты не увидишь. Это уже "вшито" в Аксесс. Требуемый запрос в источнике записей подчиненной формы.
1
1 / 1 / 0
Регистрация: 27.02.2010
Сообщений: 190
04.03.2010, 13:08  [ТС]
Где сам путь кнопки? Как кнопка выкупает) что ей выполнять КопияЗапрос9
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
04.03.2010, 13:41
Цитата Сообщение от bosscs Посмотреть сообщение
Как переключаться между режимами?
между режимами просмотра и поиска? хм... давай сделаем кнопку с залипанием (кажется называется "выключатель").
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Выключатель49_Click()
    If Выключатель49.Value Then
    Me.подчиненная_форма_Запрос1.Form.RecordSource = "Копия Запрос9"
        Me.Requery
    Выключатель49.Caption = "режим просмотра"
    Else
    Me.подчиненная_форма_Запрос1.Form.RecordSource = "all"
        Me.Requery
        Выключатель49.Caption = "режим поиска"
    End If
End Sub
Добавлено через 13 минут
Цитата Сообщение от bosscs Посмотреть сообщение
Где сам путь кнопки? Как кнопка выкупает) что ей выполнять КопияЗапрос9
окно свойств "подчиненная форма Запрос1", вкладка Данные, свойство Источник строк

Добавлено через 2 минуты
следует заметить, что это источник строк, так сказать по умолчанию, при загрузке формы. в ходе работы с формой ты можешь менять это свойство
Visual Basic
1
Me.подчиненная_форма_Запрос1.Form.RecordSource = "all"
1
1 / 1 / 0
Регистрация: 27.02.2010
Сообщений: 190
04.03.2010, 14:12  [ТС]
Пора бросать пить
http://img37.imageshack.us/img37/1497/99176951.jpg
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
04.03.2010, 14:27
отлично. вот как на скрине, клацни мышей по квадратику в левом верхнем углу подчиненной формы. тогда посмотришь свойства не контейнера, содержащего подчиненную форму, а самой подчиненной формы. или открой в режиме конструктора саму подчиненную форму
1
1 / 1 / 0
Регистрация: 27.02.2010
Сообщений: 190
04.03.2010, 16:28  [ТС]
Это типу?
http://img408.imageshack.us/im... 393553.jpg
Получается при запуске 2й формы данные черпаются из запроса КопияЗапрос9?

Добавлено через 56 минут
Еще одна проблема, раньше в форме я мог добавлять записи, теперь могу вводить только марку и модель. Поч?
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
04.03.2010, 17:31
файл и подробное описание (по шагам) проблеммы, в студию
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.03.2010, 17:31

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

Поиск в access
Здравствуйте, подскажите как с помощью VB или макроса перевести форму в Access 2007 в режим поиска (это который включается...

Поиск в БД Access
Здравствуйте! У меня на второй форме есть кнопка search и поле ввода txtBookNameSearch Подскажите, пожалуйста, как сделать поиск в БД,...

Поиск в БД Access
Всем привет) Создал форму, в нее поместил DataGridView(1), которую связал с Access (в Access есть данные об авто: модель, марка и т. д.)....

поиск в бд access
Друзя такая проблема база гатова но есть проблема поиск по столбцам у бд 8 сталцов но из 8 сталбцов работают толька 5 а осталные 3 не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru