|
|
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
Перекрестный запрос, результат довольно запутанной выборки из нескольких запросов, экспортируется в Excel, в Excel формируется отчет, добавляются поля со всякой аналитикой и т.д. Формат запроса (в обратном - с конца- порядке): 1. планируемые данные за текущий месяц 2. реальные данные за текущий месяц 3. данные за этот же месяц прошлого года 4. тоже, но позапрошлого года. Лист Excel, по сути - шаблон, т.е. число столбцов и их порядок не меняется. Вся проблема в том, что при отсутствии (на момент запроса) данных на текущий месяц - его столбец в запросе вообще отсутствует. При экспорте на это место на листе Excel попадают данные последнего столбца, и аналитика в Excel показывает чепуху. Никак не получается, заставить в такой ситуации, попадать последний столбец на своё место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2004, 14:35 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
Каким образом экспортируешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2004, 15:00 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
Надо дописать к перекрестному селекту в конце: in ("two","three","one") где в скобках стоит список названий полей в нужном порядке. Тогда даже если какого-то столбца в результате запроса нет - столбцы будут браться не из результата запроса, а из этого списка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2004, 15:14 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
1.Экспортирую кодом из Access, конкретнее - функцией fnCopyFromRecordset на нужное место листа переношу rst (перекрестный запрос). 2.Сходу не понял насчет "дописать в конце". Названия столбцов каждый месяц меняются, как быть? А сам перекрестный запрос делается из сводного запроса, в котором объединены запросы на выборку, в некоторые из них тоже входят запросы......Хотя способ - интуичу - элегантнее моего. Я пошел путем "в лоб". Исходя из того, что "пропадать" может именно столбец с текущим месяцем ( предпоследним по счету), я решил сразу после переноса данных на лист переносить данные последнего столбца на "правильное" место - на 1 столбец правее. Подскажите: Пытаюсь 5 ячеек из столбца 8 перетащить в столбец 9. Код: plaintext 1. 2. 3. 4. 5. 6. Проблема с синтаксисом команды на месте"ляляля". Пробую написать: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2004, 18:15 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
авторНазвания столбцов каждый месяц меняются, как быть? Менять селект программно. Кстати, затирать clipboard программно - это нехорошо. Юзеры спасибо не скажут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2004, 19:03 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
Менять селект программно. Это как? А по синтаксису Excel так и не подсказали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2004, 19:21 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
авторМенять селект программно. Это как? Команда OpenRecordset принимает в качестве параметра стринг, в котором сидит селект. Этот стринг не обязан быть одной длинной константой. Какие-то его части могут вычисляться. авторА по синтаксису Excel так и не подсказали... Я не ответил, потому что не знаю. Другие пока не ответили, потому что выходной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2004, 19:29 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
2 Benzin B>А по синтаксису Excel так и не подсказали... Тот кусок кода, что ты привел наверно макрорекордер нарисовал :) Я бы написал так: Код: plaintext 1. 2. 3. 4. 5. 6. Хотя можно конечно и с Selection помучиться. По моему у объекта Worksheet нет метода возвращающего Selection, поэтому до него тебе придется, скорее всего, добираться ч.з Application. т.е. Код: plaintext 2 Владимир Саныч ВС>Кстати, затирать clipboard программно - это нехорошо. Юзеры спасибо не скажут. Я тут недавно отучал пользователей хранить документы в корзине ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2004, 21:21 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
А я бы предложил не париться: Код: plaintext 1. И никакого клипборда Хотя ёкселевский "клипборд" затирать таким образом, как было написано, не страшно. Он сам сбрасывается при любом удобном для него случае Например, для вставки ячеек в защищенный лист надо обязательно снять защиту не только до вставки, но и до копирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2004, 10:31 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
2 AlexJuice Да, твой вариант получше будет. Тем более, что они этот метод Paste меняют от версии к версии :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2004, 10:38 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
За подсказку по Excel - спасибо. 2 Владимир Саныч А ведь получается!!! Правда есть вопросы: 1. Добавил IN(...) в конец сохраненного запроса. Тупое перечисление всех названий столбцов не прошло. Получилось, когда в списке остались только названия, которые "в прошлой жизни" были содержимым полей. Почему? 2. До добавления IN, в конструкторе запроса было поле "Month" и у него было указано: "Группировка", "Заголовки столбцов". После добавления IN(...) и сохранения запроса у поля "Month" в строке "Перекрестный запрос" вообще ничего нет. У нового поля указано: " Выражение ", "Заголовки столбцов". Заменил "Выражение" на " Группировка " - возвращяемых записей стало больше. Вернул " Выражение " - запрос стал ругаться, что у заголовках столбцов должно быть указано "Группировка". Чего это он? 3. А если удалить из запроса поле "Month", то для нового поля можно указать "Группировка". Как лучше то? 4. Очень стыдно спрашивать, но напрочь отключилась соображалка(воскресенье!): как вычесленное значение перевести в название столбца? Т.е. в скобках у IN должно быть Month(Date()), Month(Date())-1... А как кавычки то добавить? Через CStr? 5. Уже знаю о Вашем отношении к затиранию clipboard, но тем не менее: а какой способ (мой - "механический" или Ваш) более надёжный в плане возможных ошибок в ситуациях "данных за текущий месяц нет" и "данные есть"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2004, 11:57 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
На большинство вопросов у меня ответа нет, прошу прощения. Могу ответить только про кавычки: их надо удваивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2004, 12:14 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч Рано я обрадывался. В коде присваиваю переменной strIN значение: strIN = " IN (""" & Month(Date()) - 2 & """,""" & Month(Date()) - 1 & """,""" & Month(Date()) & """;)" .............. set rst = ....("Select [ПерекрЗапр].* From [ПерекрЗапр]" & strIN) Получаю: "Ошибка синтаксиса в предложении From" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2004, 13:37 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
Во-первых, IN и т.д. должно быть частью перекрестного запроса, а не обычного, который обращается к перекрестному. Во-вторых, нехорошо присоединять числа к стрингу напрямую, потому что Аксесс их может неправильно отформатировать. Их лучше форматировать явно. Вместо ...& Month(Date()) - 2 &... лучше сделать ...& CStr(Month(Date()) - 2) &... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2004, 13:41 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч быть частью перекрестного запроса Т.е. перед словом In.. должно быть SQL-представление перекрестного запроса? А во что заключить Str(...)? В апострофы или кывычки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2004, 14:42 |
|
||
|
Экспорт в Excel, проблема при отсутствии данных.
|
|||
|---|---|---|---|
|
#18+
авторТ.е. перед словом In.. должно быть SQL-представление перекрестного запроса? Да. авторА во что заключить Str(...)? В апострофы или кывычки? Не надо ни во что заключать. Я ведь привел пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2004, 14:47 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32387177&tid=1677031]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
222ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 563ms |

| 0 / 0 |
