Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.08.2009, 15:16
|
|||
|---|---|---|---|
|
|||
Проблема с запросом через Microsoft Jet engine |
|||
|
#18+
никак не могу разобраться в чем причина следующей проблемы: Есть Excel 2007 файл (в принципе в 2003 офисе - та же проблема присутствует) - файл креплю. на первом Листе - настроечная таблица: nummaskword170601%150____дисконт270601%150____ в поле mask - маска счета, где % - любая последовательность символов, _ - любой один символ (все как в ANSI SQL). Колонка word - это дополнительный признак, в котором указывается слово, которое должно быть в наименовании счета. На втором листе input - сами входные данные: acc_numberacc_name70601810000001503333Дисконт по Ленинградской области для простоты взял один счет. Что нужно - для каждого счета - выбрать первую встретившуюся маску, причем если указано слово - оно должно присутствовать в наименовании счета (case-insensitive). Для этого создаю в макросе соединение через Microsoft Jet Engine - и обращаюсь к данным листов как к табилицам через [наименование_листа$]: Код: 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. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. проблема в том, что запросы (особенно первый) - работает корректно только один раз: Когда я открываю заново Excel и запускаю макрос - то возвращается резульат: nummaskwordi.acc_numberacc_namet.acc_numbermin_num170601%150____дисконт70601810000001503333Дисконт по Ленинградской области706018100000015033331 то есть то, что нужно. Слово Дисконт встречается в наименовании - поэтому подхватилась первая маска, где указано слово "дисконт". Но если тут же запустить макрос еще раз - результат другой: nummaskwordi.acc_numberacc_namet.acc_numbermin_num270601%150____70601810000001503333Дисконт по Ленинградской области706018100000015033332 то есть уже почему-то по слову "дисконт" поиск не сработал. Причем если закрыть файл в Excel - открыть его заново и запустить макрос - то работает некорректно. Но вот если полностью закрыть приложение Excel - потом запустить Excel, открыть файл и запустить макрос - то первый раз запрос отрабатывает корректно - потом опять не хочет. Никак не пойму, почему такая избирательность ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.08.2009, 12:08
|
|||
|---|---|---|---|
Проблема с запросом через Microsoft Jet engine |
|||
|
#18+
ну если честно, то у мнея сразу выводится записчь с id 2 проблема в этом условии Код: plaintext решение, либо в маске писать в полном соответствии, либо приводить через Upper или Lower к одному виду I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.08.2009, 13:42
|
|||
|---|---|---|---|
|
|||
Проблема с запросом через Microsoft Jet engine |
|||
|
#18+
HandKotну если честно, то у мнея сразу выводится записчь с id 2 Вот это-то и странно. Если бы все время одинаково работала - я бы и не спрашивал. А у меня первый раз (именно сразу после открытия Excel) подхватывает ее. А дальше ни в какую. На самом деле, хоть и читал, что MS JET case-insensitive - видимо или не там читал, или хреново реализовано. Тоже смотрел в сторону lower upper - только такие функции не поддерживаются. Немного волос повырвал пока нашел, что надо использовать lcase :) В общем переделал так - работает стабильно, но осадок остался: Код: plaintext спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&mobile=1&tid=2160647]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 134ms |

| 0 / 0 |
