|
0 / 0 / 1
Регистрация: 11.04.2018
Сообщений: 108
|
|
Фильтрация в сетке14.12.2019, 15:57. Показов 3167. Ответов 40
Метки нет (Все метки)
На форме имеется 3 компонента CheckBox и Edit, в него вводится "условие поиска". Мне необходимо чтобы при выборе 1 переключателя в сетке отобразилась запись с введенным номером, при выборе 2 отобразились записи с введенный видом документа, и при выборе 3 с введенной организации. Не понимаю как написать условие какой выбран переключатель и отфильтровать по нужному полю. В таблице в БД есть такие поля (number,vid, organ).
Наглядно, что хочу реализовать показано на картинке
0
|
|
| 14.12.2019, 15:57 | |
|
Ответы с готовыми решениями:
40
Движение по сетке
Привязка к сетке. |
|
0 / 0 / 1
Регистрация: 11.04.2018
Сообщений: 108
|
||||||
| 18.12.2019, 20:26 [ТС] | ||||||
|
не подскажете еще, что не так написал в запросе для отображения данных? Нужно отобразить номер, наименование, наименование организации, дату, и путь к файлу
Запрос:
0
|
||||||
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 19.12.2019, 01:28 | |
|
Так-то все правильно, но inner join предполагает обязательное наличие данных в соединяемых таблицах и если в вашей связке из трех таблиц хотя-бы один ключ отсутствует то не отобразится вся связка, т.е. если для документа есть издание, но нет типа, не отобразится и документ.
А в чем проблема?
0
|
|
|
Модератор
|
||
| 19.12.2019, 04:36 | ||
|
А вообще, SQL Server, как и Oracle - не самая лучшая платформа для "таскания туда-сюда" баз данных, это, как ни крути, корпоративное решение... А вот SQLite, Firebird/Interbase - самое оно... Access - тоже из этой оперы, но не советовал бы с ним связываться без крайней на то необходимости...
0
|
||
| 19.12.2019, 08:55 | |||||||
|
вот так надо
0
|
|||||||
|
0 / 0 / 1
Регистрация: 11.04.2018
Сообщений: 108
|
|
| 19.12.2019, 10:23 [ТС] | |
|
Вот такая ошибка
0
|
|
|
32 / 26 / 7
Регистрация: 18.10.2019
Сообщений: 187
|
|||
| 19.12.2019, 10:54 | |||
0
|
|||
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 19.12.2019, 21:13 | |
|
Возможно и MSSQL, но приведенный запрос явно из Акцеса выдернут, скорее всего Мудрый Ижик прав, я тоже больше нигде не встречал такого странного оформления запросов с джойнами.
0
|
|
| 20.12.2019, 08:46 | |
|
Не по теме: я согласен про аксесс - только он делает такие скобочки
0
|
|
|
0 / 0 / 1
Регистрация: 11.04.2018
Сообщений: 108
|
||
| 20.12.2019, 12:42 [ТС] | ||
|
Добавлено через 21 секунду а как по другому можно написать запрос?
0
|
||
|
32 / 26 / 7
Регистрация: 18.10.2019
Сообщений: 187
|
||
| 20.12.2019, 13:49 | ||
0
|
||
|
0 / 0 / 1
Регистрация: 11.04.2018
Сообщений: 108
|
|
| 23.12.2019, 00:26 [ТС] | |
|
У меня не получается написать правильный запрос. Может может кто-нибудь помочь составить правильно запрос?
Добавлено через 3 часа 55 минут Не подскажете как правильно должен выглядеть запрос?
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 23.12.2019, 09:11 | |
|
Егор Ю, судя по количеству постов, эту тему еще долго будут мучить, пока не будет выложен файл базы данных.
Без этого ничего не получится, т.к. правильный запрос уже был показан в посте #24. А если запрос, который по приведенной структуре синтаксически верный, даёт ошибку, то понять откуда она такая взялась может только выложенная сюда реальная БД.
1
|
|
|
0 / 0 / 1
Регистрация: 11.04.2018
Сообщений: 108
|
|
| 23.12.2019, 20:50 [ТС] | |
|
Вот база данных, искренне надеюсь на помощь
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 23.12.2019, 21:26 | |
|
Запрос, который привел qwertehok в посте #24 выполняется правильно (см. картинку).
Следовательно, проблема в самом проекте и, скорее всего, связана с ADOQuery2. Может быть в редакторе полей (Fields Editor) есть какие-то поля, а нужного нет. Впрочем, это лишь догадка. Поэтому проект нужен тоже.
1
|
|
|
0 / 0 / 1
Регистрация: 11.04.2018
Сообщений: 108
|
|
| 23.12.2019, 21:30 [ТС] | |
|
Вот проект:
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
||||||
| 23.12.2019, 22:41 | ||||||
Сообщение было отмечено Егор Ю как решение
Решение
Чтобы получить результат как на картинке ниже, надо:
- в ADOQuery2 удалить из редактора полей все поля (должно быть пусто); - разместить в его свойстве SQL такой запрос:
- в базе нужно заменить типы данных: в тбл. document поле file_path с text на varchar(150). Чтобы в гриде показывались пути, а не слово [MEMO]; желательно в поле data_podpis с datetime на date, т.к. время всё равно не используется; - чтобы в DBGrid отображались наименования, а не идентификаторы (числа), заменить наименование полей для полей Вид и Организация (на картинке правее видно какие поля в редакторе колонок грида).
1
|
||||||
|
0 / 0 / 1
Регистрация: 11.04.2018
Сообщений: 108
|
|
| 23.12.2019, 22:49 [ТС] | |
|
Огромное Вам спасибо, всё правильно отображает, правда теперь не работает поиск
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
||||||
| 23.12.2019, 23:49 | ||||||
|
Поиск и фильтрация - несколько разные функциональности.
Фильтрация подразумевает ограничение результата запроса по условиям, а поиск не ограничивает результат и устанавливает указатель на строку, где найдены запрошенные для поиска данные. Т.е. надо чётко представлять что нужно в этом проекте: показывать только те строки, в которых есть нужные данные (ограничение по условиям) или просто указать первую попавшуюся строку, где эти данные есть, не скрывая остальные строки. Добавлено через 26 минут Егор Ю, ниже приведены процедуры, в одной из которых реализована фильтрация, а в другой сброс фильтра: Кликните здесь для просмотра всего текста
1
|
||||||
|
0 / 0 / 1
Регистрация: 11.04.2018
Сообщений: 108
|
|
| 24.12.2019, 00:10 [ТС] | |
|
0
|
|
| 24.12.2019, 00:10 | |
|
Игра по сетке Сканирование по сетке Найти пиксель в сетке Выравнивание кружков в сетке Отрисовка уровня по сетке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Новости компьютерного мира и их обсуждение (4)
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2.
Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
|
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
|
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
|