Страница: 1 |
|
Вопрос: очень сложный поиск путем макроса excel( помогите
|
Добавлено: 29.10.09 10:31
|
|
Автор вопроса: soulthiefer
|
всем доброго дня ! помогите пожалуйста организовать поиск в эксель посредством макроса !
выкладываю файл в котором сделал все что мог .. в принципе все кроме поиска о котором прошу (
на первой вкладке : вводится пара фамилий людей который знают друг друга... в текстбоксах вводится если фамилии нет еще в списке в сомбобоксе выбирается из списка если существует фамилия ! Кнопка ЗАПИСАТЬ добавляет фамилии из полей в соответствующие колонки ( текстбоксы имеют приоритет перед комбо)
на второй вкладке : как раз и должен быть нужный мне поиск ( поиск ищет цепочку людей через которых я хочу познакомиться с человеком которого указал в комбобоксе на второй вкладке, ТОЕСТЬ найти возможную комбинацию/комбинации по принципу: "Мне нужно познакомиться с Петровым. Посмотрим, кто из моих знакомых, или знакомых моих знакомых знает этого человека ( под кнопкой ПОИСК ВАРИАНТОВ расположен лэйбл3 в нем и должны выводится варианты ! пример запроса и ответов на него на самом листе справа от столбиков фамилий !
ПОМОГИТЕ пожалуйста с этим самым поиском!!! я в полном тупике (
файл с примером
http://rapidshare.com/files/299110332/2.zip.html
сорри не знаю как сюда прикрепить файл
Ответить
|
Номер ответа: 1 Автор ответа: hip
Вопросов: 3 Ответов: 22
|
Профиль | | #1
|
Добавлено: 31.10.09 22:30
|
В первую очередь необходимо реализовать структуру для хранения данных, потому что работать в данном случае с экселевским листом нет никакого смысла, алгоритм поиска будет слишком медленный и кривой. То есть смысл такой: программа после запуска в первую очередь считывает данные из первых двух столбцев и сохраняет их в структуре (что-то вроде массива, но сложнее), после чего поиск делает уже в этой структуре. Структура эта называется "сеть" или "граф" и реализуется, например, с помощью классов (это самый простой вариант).
В общем можно написать алгоритм и без этой струтуры, но будет он, повторюсь, очень медленный и кривой. Это примерно тоже самое, что огород детским совочком вскапывать. Проще сразу разобраться в теории сетей, в книгах где она описывается и алгоритмы поиска тоже есть, насколько я могу представить в рамках теории сетей задача, которую вы описали, -тривиальная.
Во всяком случае если бы я столкнулся с подобной задачей, я бы поступил именно так, сетевые алгоритмы - ядро этой задачи и самый быстрый путь.
Ответить
|
Номер ответа: 3 Автор ответа: soulthiefer
Вопросов: 1 Ответов: 1
|
Профиль | | #3
|
Добавлено: 02.11.09 09:08
|
Smith пишет:
что ТС непоймет нихрена из сказанного
все правильно ничего не понял ((
hip пишет:
в данном случае с экселевским листом нет никакого смысла, алгоритм поиска будет слишком медленный и кривой
в том то и состоит задача что нужно реализовать в макросе экселя !!!!
во первых так стоит задача а во вторых мне оч интересна реализация т к сам осилить не смоог (
Ответить
|
Номер ответа: 4 Автор ответа: hip
Вопросов: 3 Ответов: 22
|
Профиль | | #4
|
Добавлено: 02.11.09 12:40
|
в том то и состоит задача что нужно реализовать в макросе экселя !!!!
В макросе Excel должен находится код, который считывает данные с листа и сохраняет их в памяти в сетевую структуру, и уже затем ищет варианты в этой структуре, а не на экселевском листе.
В общем что-бы решить эту задачу Вам нужно расширять свои познания в программировании. Путь вам указали:
-написание своих классов
-"сети" или "графы"
-рекурсия.
Если кто-то решит написать этот код за Вас и даст его Вам, Вы там ни черта не поймете, потому-что не имеете представления о вышеперечисленных аспектах программирования.
То есть у вас два пути- разобраться во всем и осилить таки эту задачу, либо не разбираться и отказаться от решения, потому что решение этой задачи без сетевых структур, это , прямо скажу, не решение.
Ответить
|
Страница: 1 |
Поиск по форуму