Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
313 / 152 / 64
Регистрация: 25.02.2018
Сообщений: 574
1

Создание трехуровнего фильтра через COMBOBOX

24.03.2018, 21:02. Просмотров 456. Ответов 12
Метки нет (Все метки)

Доброго времени суток!

Прежде чем писать этот пост, много пересмотрел информации и на форуме и за его пределами, но так и не разобрался.
Суть проблемы такова.
Есть таблица Microsoft Excel (используется офис 2010), в которой находятся данные следующей структуры: четыре столбца и несколько строк. Первый столбец - наименование Федерального округа РФ, второй - регион (область, край и т.д.), третий - населенный пункт (город, поселок и т.д.), четвертый - колличество населения в них соответственно.

Файл прилагаю: DATA.xlsx

Существует простая форма, на которой находятся 3 элемента COMBOBOX и 1 EDIT.

Форма: filter.rar

Как подключить таблицу к форме таким образом, чтобы при использовании COMBOBOX c первого по третий, данные из таблицы фильтровались и конечный результат выводился в EDIT. То есть при загрузке формы данные в COMBOBOX автоматически заносятся из столбцов таблицы, в соответствии с описанием выше. При выборе допустим в COMBOBOX1 определенного ОКРУГА, в COMBOBOX2 можно было выбирать только РЕГИОНЫ, которые соответствуют этому округу согласно таблицы, в COMBOBOX3 населенный пункт соответственно выбранному в COMBOBOX2 региону. После того как во всех трех элементах COMBOBOX нужные значения будут выбраны, в EDIT должно отобразиться значение (КОЛЛИЧЕСТВО НАСЕЛЕНИЯ) в соответствии с выбранным населенным пунктом.

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

Спасибо заранее!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2018, 21:02
Ответы с готовыми решениями:

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

Создание фильтра
Всем привет подскажите пожалуйста как правильно организовать фильтр.Есть поле куда ввожу ник...

Создание фильтра
Нужно создать дискретный фильтр для изображений. Есть полезный сигнал + шум. Нужно определить вид...

Создание фильтра и сортировки
Мне надо написать макрос для фильтровки и сортировки данных по месяцам... в файле есть числа и...

12
3170 / 2750 / 744
Регистрация: 29.08.2013
Сообщений: 18,636
Записей в блоге: 1
25.03.2018, 12:09 2
1. считать все строки из файла в свой record
фильтровать и выводить
как считать - Инструкция: Использование Excel из Delphi

2. обращаться к xls файлу как к БД и вытаскивать значения запросом
1
47 / 47 / 34
Регистрация: 16.02.2016
Сообщений: 277
26.03.2018, 09:56 3
после считывания файла, вам нужно будет рассортировать информацию, например, в России девять округов, то для 2-го комбо у вас должно быть приготовлено максимум 9 списков, т.е. когда вы выбираете из 1-го комба нужный итем, то во 2-й комбо подгружаете нужный список, связанный с данным итемом, дальше по аналогии, если в округе, например, 18 областей, то у вас должно быть 18 списков с городами и т.д., конечно в файле может быть и меньше данных, например, как у вас в файле - 3 округа, в округе 6 областей и краев; как то так
0
4199 / 3491 / 1184
Регистрация: 14.04.2014
Сообщений: 16,735
Записей в блоге: 17
26.03.2018, 10:06 4
если нельзя MS, вполне можно перевести эти данные в к-нить локальную БД
SQLite или Firebird
а там вопрос совершенно банальный
загружаете первый комбо
по его изменению - второй
по изменению второго - третий
и т.д.
1
313 / 152 / 64
Регистрация: 25.02.2018
Сообщений: 574
26.03.2018, 11:02  [ТС] 5
Цитата Сообщение от krapotkin Посмотреть сообщение
в к-нить локальную БД
Без использования баз данных организовать данный фильтр каким-нибудь другим способом нельзя?
0
646 / 540 / 237
Регистрация: 26.11.2012
Сообщений: 2,128
26.03.2018, 12:06 6
Работа с ADO в Delphi на примере БД MS Excel. Часть 1
1
3170 / 2750 / 744
Регистрация: 29.08.2013
Сообщений: 18,636
Записей в блоге: 1
26.03.2018, 12:17 7
Цитата Сообщение от Ашотик2018 Посмотреть сообщение
данный фильтр каким-нибудь другим способом нельзя?
фильтр это уже отображение информации

загрузи ты свои колонки в StringList и все
1
4199 / 3491 / 1184
Регистрация: 14.04.2014
Сообщений: 16,735
Записей в блоге: 17
26.03.2018, 12:54 8
ZfoxAK, а как работать с ADO, если нет MS на машине ?

Добавлено через 59 секунд
Ашотик2018, организовывайте как хотите, только вам же нужно чтобы файл от микрософт, а продукты - не от микрософт?
как бы это сделать?
1
313 / 152 / 64
Регистрация: 25.02.2018
Сообщений: 574
26.03.2018, 13:17  [ТС] 9
Цитата Сообщение от krapotkin Посмотреть сообщение
только вам же нужно чтобы файл от микрософт
Я сегодня уточнил и сказали следующее:

Изменить файл можно, главное чтобы он был внешний, чтобы можно было изменять данные. Не обязательно чтобы это была таблица в MS Excel. В MS Excel ее просто дали как пример, а как реализовать сказали - это уже ваше дело.
Цитата: "Пускай у вас будет хоть 3 текстовых файла, по одному на каждый Combobox".

Добавлено через 21 секунду
Цитата Сообщение от qwertehok Посмотреть сообщение
загрузи ты свои колонки в StringList и все
Сейчас попробую сделать.
0
4199 / 3491 / 1184
Регистрация: 14.04.2014
Сообщений: 16,735
Записей в блоге: 17
26.03.2018, 13:30 10
просто с БД все легко и просто, а текстовые файлы нужно загружать, разбирать каждую строку, сортировать, фильтровать
геморрой имхо
а встроенная БД это в лучшем случае 1-2-3 DLL и файлик с данными
1
313 / 152 / 64
Регистрация: 25.02.2018
Сообщений: 574
26.03.2018, 14:13  [ТС] 11
Цитата Сообщение от krapotkin Посмотреть сообщение
просто с БД все легко и просто
Спасибо! Попробую, где почитать про это, просто время идет, а я стою на месте.
0
4199 / 3491 / 1184
Регистрация: 14.04.2014
Сообщений: 16,735
Записей в блоге: 17
26.03.2018, 14:36 12
первое что по SQLite вылазит в поиске
http://www.delphi.int.ru/articles/43/
1
313 / 152 / 64
Регистрация: 25.02.2018
Сообщений: 574
26.03.2018, 15:01  [ТС] 13
Спасибо! Пошел читать и пробовать)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2018, 15:01

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

Создание нерекурсивного фильтра
Здравствуйте. Помогите пожалуйста. Необходимо синтезировать сигнал (разобрался - прямоугольный...

Создание фильтра (Blacklist)
Доброго времени суток. Столкнулся с одной задачей, которую не в силах решить. Собсно сабж: Here...

Создание фильтра для бд.
Попробывал реализовать фильтр,но выдаёт ошибку "Аргумент имеет не верный тип,выходят за пределы...

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


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.