|
|
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Есть две таблице(книги) exsel с двумя столбцами id и fio, как сравнить две этих таблице и в третью поместить результат сравнения. Таблицы сравниваются по id, т.е. если в первой таблице есть строка ID=1111 и во второй ID=1111 то эту строку нужно поместить в третью таблицу. Строк около 10000 в одной таблице и около 5000 в другой... вреде как то так) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2011, 00:08 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Slava1234, Извиняюсь за ошибку))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2011, 00:49 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
"Результат" берется из первой таблицы? из второй? Вообще, средствами Экзель - это функции листа ВПР(), ПРОСМОТР(), ... Если хотите увидеть пример - приложите пример ваших таблиц... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2011, 02:10 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Slava1234, Попробуйте программу Игоря(Hugo121). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2011, 12:45 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Вот пример что нужно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 13:16 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Slava1234, Сравнение по тел. номерам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 14:09 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Slava1234, ИМХО лучше SQL запросом. Быстрей. Любимый конек R Dmitry:-) Подождем, он был сегодня на форуме. На будущее - лучше всегда выложить файлы с хотелками. И себе решение ускорите и других избавите от ненужных телодвижений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 14:50 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
можно выполнить из любого файла, только изменить название путей к файлу и следить как называются листы в файлах Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 17:02 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Не вижу в таблицах ни ID, ни FIO Сравнивать можно, как я понимаю, по номеру СИМ, номеру договора, тномеру телефона... Быстрый и "простой" - делать запрос помощью ADODB к нужным данным исходных таблиц, в нем же, если надо, накладывая дополнительные условия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 17:11 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Пропустил, что Дмитрий уже ответил... Хотя у меня в примере - предложение делать коннект не через JET, а через ODBC, что избавляет от контроля версии Офиса. Раз по телефонному номеру надо сравнивать - замените в запросе поля на нужные. Кстати, можно не перечислять все поля в SELECT, а сделать "SELECT * FROM ...", и потом почистить два последних столбца результата... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 17:17 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
AndreTM, Можно конечно. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 17:34 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
R Dmitry, Это я ТСу советовал... Поскольку если начнет пользоваться запросами - лишние знания/умения не помешают никогда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 18:24 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
AndreTM, вероятно пока ещё не начнёт - я ему на программерс сделал на словаре и массивах. Очень просил, денег обещал дать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 19:04 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
За что и не люблю кросспостеров. Нафиг, люди стараются... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 19:47 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
kuklp, зато у других есть теперь несколько вариантов. Хотя у меня вариант AndreTM не работает - т.е. нет результата... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 20:16 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Игорь, т.е. ты считаешь, что это есть благо? А на одном форуме автор бы решения не получил? Дело даже не в том. >> Хотя у меня вариант AndreTM не работает... это что, показатель? Такого не было, что твой(мой) варианты не работали из-за бестолковости ТС? Я вот смотрю, до сих пор ТС не отписался, хотя получил нужное во многих вариантах. Не, я не претендую на истину в последней инстанции, бурчу(это старческое:-)), но все же ИМХО, это неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 21:04 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
kuklp, Ну не знаю... С точки зрения целесообразности - есть смысл. Тут вариант на SQL, там на массивах, может ещё где-нибудь на MSQuery (файл *.dqy) - тоже кстати вариант неплохой, удобный, если имена файлов известны. А если неизвестны, то можно vbs скриптом запросить, сгенерить *.dqy, запустить на выполнение :) Есть выбор, не факт, что на одном форуме будет лучшее решение. Но мне кажется, что мой вариант лучше :) Хотя бы потому, что более управляемый - можно на лету откидывать пробелы, менять типы данных, добавлять доп.условия отбора и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 21:18 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Что-то я пропустил, или мне показалось - ты меня бестолковым назвал??? :) А за ТС похоже что я отписался - мой вариант с программерс подошёл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 21:21 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Hugo121, Ну, результата может не быть по причине отсутствия совпадений по ключу... И по причине того, что не отрабатывает ODBC при отсутствии источников - вполне. Тогда попробуйте, например, вот это (файлы-источники должны лежать в каталоге с рабочей книгой). В целом, ТСу ведь советовали путь решения, и он достаточно кошерен , а уж частности... - пусть учится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 21:27 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Hugo121Что-то я пропустил, или мне показалось - ты меня бестолковым назвал??? :) Да ладно тебе:-) Я и себя в скобках указал. Ты же помнишь тему, у всех работало, а у тебя - нет. Я уж правда и не вспомню, почему. Но помню, что в последствии и у тебя заработало. Потому как НЕ бестолковый:-) П.С. это че было? Наезд?:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 21:30 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Да ладно вам... ТС ведь давно ушел, удовлетворенный по самую маковку. Hugo121Но мне кажется, что мой вариант лучше :) Хотя бы потому, что более управляемый - можно на лету откидывать пробелы, менять типы данных, добавлять доп.условия отбора и т.д.Ага, SQL Select этим не обладает принципиально, типа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 21:43 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
AndreTM, это почему? SQL запрос не обладает гибкостью? От Вас первого такое слышу. Язык SQL и популярен на любых платформах из-за его гибкости. Боюсь, Дима(R Dmitry) тут будет Вам лучшим опонентом, чем я:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 22:22 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
AndreTMАга, SQL Select этим не обладает принципиально, типа +100500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 22:22 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
AndreTM, ну я не настолько знаю SQL, мне проще массивами управлять. Но помню, что с типами данных там были проблемы... Тут тоже я в первом варианте не учёл, что они могут отличаться - я когда тестировал, забил в середину номеров буквы, чтоб совпадений не было, а когда вернул назад - совпадений тоже нет :(. Оказалось, что типы скачут - добавил всюду Trim(), заодно два зайца убил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 22:26 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Ну Дим, не ожидал:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 22:26 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Hugo121добавил всюду Trim(), заодно два зайца убил.Игорь, в SQL тоже есть trim. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 22:28 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Hugo121ну я не настолько знаю SQL, мне проще массивами управлять. Но помню, что с типами данных там были проблемы... Ага... массивы... коллекции... И получаем написание кода для импорта данных в нашу структуру... написание кода (переработку существующих/реализацию собственных алгоритмов) для анализа... фильтрацию и вывод результатов... Проще возложить вышеуказанные действия на существующих провайдеров, тем более, что поставленная задача прямо укладывалась в выборку с помощью реляционной модели. А вот если (и когда) перестанет устраивать возможности/быстродействие существующих средств - вот тогда и будем подумать Впрочем, я ничуть не пытаюсь что-то вам советовать по поводу вашего подхода; единственное - нужно просто помнить, что не "человек для машины", посему желательно иметь "взляд с разных сторон" на решение задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 23:01 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
kuklpНу Дим, не ожидал:-)Не, просто Дмитрий смайл и акценты выражения увидел, а Игорь , видимо, - нет, поскольку спешил поделиться радостью... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 23:08 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
AndreTM, Да всё я увидел. Просто я трим не знаю, как в запрос добавить :( - нужно по примерам искать, или запрос в Ацессе править... Ваш второй вариант работает, но вот если (ради теста) изменить один из номеров, вставив внутрь буквы (получаем в выборке один номер), а потом меняем назад - в выборке один номер, а не два, т.к. типы уже не совпадают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 23:13 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
kuklp, Да Сергей, я имел ввиду что SQL очень мощная штука, ты же наверное помнишь что я в числе первых начал индексировать массив словарем, потом понял что Jet это все делает за меня, так зачем делать все самому если за меня это все сделали. Я не против словарей и массивов, я их постоянно использую и применяю, но если я вижу что для решения задачи можно использовать sql я предпочитаю использовать именно его. ps... Ни кого не хотел обидеть или задеть, Игорь (Hugo) на твоих кодах я обучался, да и на твоих Сергей тоже. Отдельное спасибо стартопикам, за то что не дают расслабляться нашим извилинам :) и держат их в тонусе :). С уважением, Дмитрий(R Dmitry) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 23:24 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Hugo121, Давайте так - что я, что Дмитрий - мы _предполагали_ , что ключевым будет определенное поле, определенного типа, одинаковое в обеих таблицах. ReadOnly at ThisMoment, ибо источники по определению. То есть конкретные данные. И рассуждения на тему (не)явного приведения, изменения в предпроцессе, и всего прочего - бессмысленны. Вот если у ТС на его _реальных_ данных возникнут проблемы - тогда и будем посмотреть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 23:27 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
AndreTM, Ну да, если файлы генерятся программно, то так и будет, что типы неизменны и всё ОК. Мой первый вариант тоже вполне отработал без этих предосторожностей. Но вот тут вспомнилось - гляньте файл, кто ещё не видел. Хоть и оффтоп по теме, но всёж... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 23:39 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Друзья, мы-то вполне друг-друга поняли:-) Хорош расшаркиваться. А вот по-поводу ТС вопрос завис. Игорь, на дружественном форуме он тебе задал конкретный вопрос по ассеss. Почему бы не направить его(а заодно и по соске треснуть) сюда? Ну, пусть хоть отпишется в своей теме. Сомневаюсь, что у Димы и AndreTM прибавится энтузиазма, но все же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 23:48 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
kuklp, Да, точно, извини, сейчас. :), ...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2011, 23:50 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
Hugo121, Да, с преобразованием типов в Excel тяжко... Ну, ошибается провайдер затем - ну так что же? Зачем придумывать что-то? - достаточно в "Реестре" сделать "Федномер" гарантированно отпределенного типа: например, для текстового - добавить одинарную кавычку в начало строки при формировании значения (кстати, если вы в своем примере так и сделаете - выборка снова будет ОК)... Если же юзеры сами правят этот файл - повесить реакцию на изменение столбца... В целом, проще задать правила для источника данных, чем экспериментировать с "обзором всех возможных вариантов" при составлении выборок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2011, 00:39 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
AndreTM, Вы не получали от меня личного сообщения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2011, 01:07 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
kuklp, kuklpAndreTM, Вы не получали от меня личного сообщения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2011, 01:15 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
AndreTM, andre_tm@mail.Ru - но я не уверен, что отправил, у меня крысу летучую переклинило. Значит не получилось, или адрес не тот? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2011, 01:24 |
|
||
|
Сравнение таблиц Exsel
|
|||
|---|---|---|---|
|
#18+
kuklp, kuklpAndreTM, andre_tm@mail.Ru - но я не уверен, что отправил, у меня крысу летучую переклинило. Значит не получилось, или адрес не тот? А прямо через интерфейс Майла нельзя было? Или с уведомлением... Впрочем, можно же и асей или скайпом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2011, 01:29 |
|
||
|
|

start [/forum/topic.php?all=1&fid=61&tid=2176312]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
142ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 452ms |

| 0 / 0 |
