![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| wesadex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 21.6.2005 Репутация: нет Всего: нет |
Всем привет!
Парни, есть задача: "столкнуть" одну большую (50-60 тыс. строк) экселевскую таблицу с некоторым количеством других (каждая из которых не менее велика) по одному полю (string - полное соответствие) - из этой таблицы выбрать только те записи, которые есть в других. В аксесе все делается за минуту-другую руками, но надо сделать на Дельфях. Условия таковы: * в доступе нет ни одного сервера БД * админских прав на машинах, где будет работать софтина нет, даже прописать алиас нельзя, да и некому это будет делать * процесс должен проходить максимально быстро * софтина должна быть в-дупель-ламер-фрэндли (но это не вопрос - уже сделано). Может есть у кого какие-нить мысли как это все примерно делать? Если есть возможность создавать БД и таблицы прямо из софтины и убивать их - подскажите плииз как, на БД все это сделать будет значительно проще конечно же. Единственное, что мне приходит в голову сейчас это: * запихивать исходные данные в два динамических массива, * сортировать второй массив (максимально быстро) * Делать ручную выборку из первого массива по второму |
|||
|
||||
| Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
1. Работать с файлами как с базой данных ADO
2. Использовать макросы. 3. http://forum.vingrad.ru/topic-84634.html -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
wesadex, но будет довольно медленно
|
|||
|
||||
| wesadex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 21.6.2005 Репутация: нет Всего: нет |
Если быстрее, чем прямым перебором, то пойдет.
Почитал drkb, но если честно не многое понял. тындекс и гугл тоже сильно не помогли. Был бы крайне благодарен за пример использования файла xls как БД черех ADO и пример формирования запроса к этой БД. Идеальный вариант: открыть и немного обточить напильником файлы xls в дельфи (эт я умею сам), отдать данные на обработку какой-нить СУБД (см. первый пост - условия), отнять у нее результат и делать с ним что угодно (это вроде тоже смогу). p.s. Эх, говорил мне коллега "учи матчасть!", а вот пока не приперло, советом пренебрегал, увы! Выручайте парни, если есть кто из НН, готов пивом угостить, в Москве последнее время не бываю к сожалению |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Я пробовал через ADO обращаться к xls, в итоге разобрался, что если создавать новую книгу, то и работать можно, но если в существующей, то ничего не получиться. В итоге я решил импортировать все данные из xls в свою БД и с БД уже работать.
Ещё вариант: сохранить книгу, как dbf и открыть этот файл с пом BDE+TTable. А можно так: программно открываешь в Excel`е xls, "говоришь" ему "сохранить как...", подсказываешь, что сохранить нужно как dbf. Это сообщение отредактировал(а) Akella - 21.11.2006, 11:43 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |