Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

Проблемы при обновлении сводной (access-excel 2007)

Автор nkuznetsova, 17.03.2011, 21:34

« назад - далее »

nkuznetsova

Здравствуйте.

Есть книга Excel 2007 с названием "Данные".
В ней два листа со списками "План", "Факт".
Списки аналогичны: Дата, Номер документа, ЦФО, Статья, Сумма
На третьем листе "Свод" собирается сводная по этим двум листам.
Для этого: листы "План" и "Факт" подвязаны в Access 2007 в виде связанных таблиц.
В Access есть запрос который с небольшой обработкой выгребает
данные из этих таблиц соединяя их через UNION ALL

При работе этой конструкции возникает две проблемы:
1. Невозможно обновить сводную при использовании в запросе функции MonthName(Month(Дата)) AS Месяц
сообщение "неизвестная функция monthname в выражении". В Access все работает нормально. Проблема только с возвратом данных. При этом если это же записать через вложенные iif то все работает отлично. Как можно это разрешить?
2. Часто (так и удалось понять в какой момент) сводная отказывается обновляться с сообщением "ODBC не может открыть фал Данные.xlsx так как файл занят другим пользователем". При этом если закрыть Excel, открыть его снова и попробовать обновить сводную то все заработает,а может быть и нет. :( непонятно почему. Опытным путем было установлено что если разделить Excel на два файла: списки в одном а сводная в другом то ошибка устраняется. Но "размножать" файлы не хочется :( Есть какие-то решение?

Спасибо!

Serge 007

Здравствуйте.

Если сводную сделать напрямую из Access (через запрос на объединение) проблема исчезает?
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

nkuznetsova

Цитата: Serge 007 от 17.03.2011, 23:13
Здравствуйте.
Если сводную сделать напрямую из Access (через запрос на объединение) проблема исчезает?

Здравствуйте!
Вы имеете в виду "Данные -> Получить нешние данные -> Из Access -> ..."?
Получаю сообещние: "Источник данных не содержит видимых таблиц".

Ужас какой-то. По сути задача-то пустиковая. Обычная "тупая" консолидация. И вот не работает чего-то :(
Непонимаю почему и как с этим бороться. Особенно необновляемость сводной удручает :(

Помогите пожалуйста. Очень нужно. ради такой простой задачи не хочется обращаться к 1С-никам. По идее Excel должен "на ура" справляться, а получатеся лажа какая-то.
На всякий случай прикрепляю пример того что я делаю.

Спасибо

Serge 007

Цитата: nkuznetsova от 20.03.2011, 01:57
...По идее Excel должен "на ура" справляться...
А Excel "на ура" и справляется, если данные располагаются так как положено. Разбивать базу данных на несколько частей - моветон для Excel :)

Во вложении самое простое (хотя далеко не самое оптимальное) решение.
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

nkuznetsova

Цитата: Serge 007 от 20.03.2011, 11:45
Во вложении самое простое (хотя далеко не самое оптимальное) решение.

Забавно получилось. Спасибо за идею на будущее. Подскажите, пожалуйста, как Вы задали один диапазон для двух листов? У меня не получислось :(

Вот только мне это решение совсем не подходит:
1. Списки в экселе не однородны (извините, хотелось упростить задание) - это только запросы аксесс делают их однородными (выбирают то что нужно)
2. Помимо выборки в аксесс производится еще и кое-какая обработка данных, так что одним экселем тут точно не обойтись иначе придется в каждую таблицу добавлять кучу формул, а это мы уже проходили - не протянули, попортили и т.п. - обнаружиается это через пол года, когда уже куча отчетов легла на стол руководству.

nkuznetsova

#5
Мне кажется это какие-то настройки Экселя.

Обнаружен такой стабильный прикол:
1. Открываю файл экселя, обновляю сводную - ругается
2. Открываю файл экселя, открываю файл аскеса, закрываю файл аксеса, обновляю сводную - обновляется

Что за штука? :(

Также установлено что это происходит не при объединении данных с разных таблиц.
Даже если вообще просто собирать сводную через Access из одной таблицы все тоже самое. Так что делаю вывод, что это какая-то проблема Экселя (или его настроек), которая проявляется при обнавлении сводной расположенной в той же книге что и данные через Аксес :(

Serge 007

Цитата: nkuznetsova от 20.03.2011, 13:32
1. Списки в экселе не однородны (извините, хотелось упростить задание) - это только запросы аксесс делают их однородными (выбирают то что нужно)
2. Помимо выборки в аксесс производится еще и кое-какая обработка данных, так что одним экселем тут точно не обойтись иначе придется в каждую таблицу добавлять кучу формул, а это мы уже проходили - не протянули, попортили и т.п. - обнаружиается это через пол года, когда уже куча отчетов легла на стол руководству.
Давайте пример с расположением данных один в один как в вашем рабочем файле (три листа со сводной), апельсинами и пулемётами вместо конф инфы и объяснениями что, как и почему должно обрабатываться.
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390