Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
08.01.2018, 06:26
|
|||
---|---|---|---|
Как в запросе подавить вывод повторяющихся значений в одной колонке? |
|||
#18+
Имеется довольно сложный запрос с группировками на базе других запросов, требуется сабж для того, чтобы вставить данные в темплейт в Экселе (т.е. отчет не подойдет, нужен именно запрос). Требуемый кусок экселевского файла на картинке. В простых запросах сносно работает VBA функция со статической переменной, которая запоминает предыдущее значение и возвращает пустую строку, если предыдущее значение не изменилось. Но как только запрос усложняется, и особенно добавляется группировка, последовательность вызова функции становится непредсказуемой - сортировка идет после группировки. Если я делаю запрос уже на базе запроса с группировкой, вроде бы последовательность вызова начинает определяться сортировкой нижележащего запроса, но количество вызовов функции для первой строки опять же становится почему-то непредсказуемой. Пока обошел это еще и сравнением первичного ключа, но, чувствую, это не последняя проблема с порядком вызова функции. Есть более подходящий способ подавления повторяющихся значений в запросе? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.01.2018, 07:07
|
|||
---|---|---|---|
|
|||
Как в запросе подавить вывод повторяющихся значений в одной колонке? |
|||
#18+
А ежели запрос не утяжелять, а на листе EXCEL "поковыряться". Не проще будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.01.2018, 07:16
|
|||
---|---|---|---|
Как в запросе подавить вывод повторяющихся значений в одной колонке? |
|||
#18+
Predeclaredна листе EXCEL "поковыряться". Увы, требование заказчика. Можно, конечно, отформатировать лист, но там в экселе еще макросы, которые с данными работают, которые мы не можем менять - собственность заказчика. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.01.2018, 07:20
|
|||
---|---|---|---|
|
|||
Как в запросе подавить вывод повторяющихся значений в одной колонке? |
|||
#18+
Ну я так, на всякий случай спросил. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.01.2018, 07:24
|
|||
---|---|---|---|
|
|||
Как в запросе подавить вывод повторяющихся значений в одной колонке? |
|||
#18+
А каким образом данные на лист заливаете? CopyFromRecordset? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.01.2018, 07:49
|
|||
---|---|---|---|
Как в запросе подавить вывод повторяющихся значений в одной колонке? |
|||
#18+
PredeclaredCopyFromRecordset Да ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.01.2018, 07:53
|
|||
---|---|---|---|
|
|||
Как в запросе подавить вывод повторяющихся значений в одной колонке? |
|||
#18+
А может сначала в массив, в нем почистить, а потом уже массив на лист? Вот только с форматами ячеек не знаю, не слетят-ли... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.01.2018, 08:21
|
|||
---|---|---|---|
Как в запросе подавить вывод повторяющихся значений в одной колонке? |
|||
#18+
Да можно и через временную таблицу сделать, на ней и VBA функция работать будет, и почистить можно. Или через ADO detached recordset, просто думал, может я что-то упустил и есть способ корректно сравнивать данные в строках запроса. Но, похоже, выполнение запроса в Аксе вещь слабо предсказуемая ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=45&mobile=1&tid=1611817]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 138ms |
0 / 0 |