|
|
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Привет всем! Вот такой простой вопрос... Создаем отчет в Access Группируем данные, делаем итого по группам Открываем отчет и импортируем его в Excel Получаем: Итоги по группам в столбцах (например) А-D остальные данные в столбцах I-H Как сделать вывод промежуточных данных непосредственно под итоговыми? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 08:15 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Пациент: "Доктор, у меня болезнь, меня никто не замечает" Доктор: "Следующий!"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 09:12 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
А как ты экспорт делаешь? Стандартными средствами? Ну тады эта... не лечится. что за нетерпеливый народ пошел - часа же не прошло между сообщениями ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 09:16 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
А какими средствами это можно сделать? Наблюдение: если топик опускается на 7-10 позиций в него уже не заглядывают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 09:26 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Попробуй тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 09:29 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
А какими средствами это можно сделать? Дави F1 или ищи по форуму... --- Тебе же задали конкретный вопрос... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 09:30 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Скажите тогда. плизз Как вывести данные построчно, и будут ли там итоги по группам? у меня в этом и проблема, до этого я выгружала все данные в xcel, а там уже делала итоги и все остальное, но сейчас в итоговую строку мне надо добавить поле, которое не содержит промежуточных данных, т.е. итог по объекту - сумма, а рядом лимит по этому объекту. Не могу ничего придумать, при чем перечень объектов динамический Посоветуйте что-нибудь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 09:41 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Вывод данных в Эксель построчно. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Остальную часть твоего писания я не понял, к сожалению. ;-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 09:52 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Спасибо, я попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 10:14 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Еще можно так: (objsheet - Excel.Worksheet, а2 - верхняя левая ячейка таблицы, rst - понятно что) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 10:34 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
сосчитать итоги в запросе сделать Union пример корявый из готовый mdb (SELECT Tpers.Podr_Id, Tpers.Pers_Fio, Tpers.Gl1, 1 AS UR FROM Tpers) UNION ALL (SELECT Tpers.Podr_Id, "Сумма" AS Pers_Fio, Sum(Tpers.Gl1) AS Sum_Gl1, 2 AS UR FROM Tpers Group By Podr_Id) ORDER BY podr_id,ur; телефонная база - podr_id - отдел gl1 - некий счетчик ur - чтобы сумма шла ниже группы на выходе получишь выборку по группам перемежающуюся суммами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 10:46 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Попробовала вывод построчно Из формы выводит без проблем, а на код: Set rst = [Reports]![Кредиторка].RecordsetClone Application-defined or object-defined error А так как у формы, или у запроса не выведешь итоги по группам, вопрос остается открытым Откуда Access берет данные с группировкой и суммами по группам, когда экспортирует в Excel стандартными средствами? Предложение с Юнион хорошо, но у меня 4 уровня группировок, запрос не прокатит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 14:52 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Ну если ты выводишь отчет построчно, то тогда нет проблем это сделать в коде. Есть group1, group2....... и есть sumg1, sumg2....., где хранится сумма. Сортируем выводимый рекрдсет в нужном порядке, т.е. order by group1, group2, group3, group4. Далее примерно следующий код (надеюсь будет понятно) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. P.S. Код писаля на коленке, так что может есть и ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 15:26 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Предложение с Юнион хорошо, но у меня 4 уровня группировок, запрос не прокатит почему - формирую отчеты с 4-мя уровнями работает кинь образец данных и обьясни где нужны суммы- помаракую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 18:35 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Код для меня сложный. Я попробую разобраться, но если к кого-нибудь есть примерчик, киньте пожалуйста на мыло, в примере легче покопаться! Спасибо за поддержку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 07:50 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Заранее прошу прощения за оффтоп! Вот и еще один экономист тусуется здесь на форуме, чтобы написать что-то под себя. ;-( Такое ощущение, что тут добрая треть людей по образованию экономисты, а не программеры и тусуются здесь, чтобы облегчить себе работу. Странно все это. Ну, положим, в г. Новый Уренгой и не хватает квалифицированных спецов, которые бы написали что-то стоящее, но в Питере-то они уж всяко должны быть!!! Ан нет, и тут мне приходится писать что-то свое, сидеть дома после работы до 3 ночи, чтобы что-то чуть-чуть подправить, чтобы было удобно работать и можно было бы особо не парясь вытащить нужную информацию за максимально короткий срок. М-дя, грустно. :-((( Фигня, на самом деле, не здоровая. :-((( Еще раз сорри за оффтоп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 10:04 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Кидай текст запроса сюда и описывай какие уровни группировки и какие суммы нужны. Будет время, напишу примерчик, либо сегодня, либо завтра. P.S. Хотя, тот "примерчик" что я написал, вполне достаточен, чтобы разобраться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 12:45 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Аналогично - без схемы данных и вида выходного отчета не помочь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 12:55 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Текст запроса кидать бесполезно он очень большой и не информативный Ситуация такая Формируются затраты по объектам строительства На объектах работают разные подрядчики Сами объекты группируются в площадки строительства Я собираю большой запрос в результате получаю единичные данные №Площ №Объекта Подрядчик №Договора Выполнение Оплата 1 1 1 1 100 100 1 2 1 1 100 100 2 4 1 1 100 100 2 4 2 1 100 100 Таким вот макаром, только числовых полей больше Далее мне надо сделать : 1 Группировка по площадкам 2 Группировка по объектам 3 Группировка по подрядчикам 4 Группировка по договорам Для каждого уровня группировки сумма выполнения и оплаты И все это выгрузить в Excel Сейчас я выгружаю единичные данные и делаю в Excele промежуточные итоги ВСЕ ПУТЕМ Но господа инвесторы хотят видеть Лимит стоимости по каждому объекту. В отчете я могу сделать группы, по ним итоги, и для каждого объекта добавить поле с лимитом и посчитать остаток средств, Но выбросить в Excel эти данные уже не могу. И вставлять в Excelе в строку сгенерированную функцией ПромежуточныеИтоги дпнные по лимиту, тоже не могу. Вот и замкнутый круг. Поэтому вывод Запроса, формы или таблици в Excel меня не спасет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 13:47 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
а можешь вывести в один запрос все нужные данные вместе с лимитом? Описываю РАБОТАЮЩИЙ алгоритм Пусть у тебя есть данные: Группа1 объект1 Свойствообъекта1 Значениесвойства1 .. Группа1 объект1 Свойствообъекта10 Значениесвойства10 Группа1 объект2 Свойствообъекта Значениесвойства ... Группа25 объект12 Свойствообъекта Значениесвойства На каждый объект (или группу?) у тебя есть лимит, так? Перемножь (join) запрос с данными (выше) и запрос с лимитами), получишь повторы лимита (каждому объекту лимит): Группа1 объект1 Свойствообъекта1 Значениесвойства1 Лимит1 .. Группа1 объект1 Свойствообъекта10 Значениесвойства10 Лимит1 Группа1 объект2 Свойствообъекта Значениесвойства Лимит2 ... Группа25 объект12 Свойствообъекта Значениесвойства Лимит2 Итого - в одном запросе все данные ----- Шаг 2: Открываешь рекордсет (ОТСОРТИРОВАННЫЙ по всем нужным группам!!!) программно и заводишь группировочные переменные (по числу выводимых группировок) Пробегая циклом по рекордсету выводишь данные в Эксель, одновременно (с помощью заведенных переменных) отлавливая смену группы и вписывая в нужные ячейки имена групп Одновременно в динамический (если не знаешь сколько групп) массив запоминаешь координаты границ групп и по покончании каждой группы рассчитываешь Экселев Range ("А5:А125" например), в котором оказались данные только что закончивашейся группы выводишь строчку "ИТОГО по группе" и ФОРМУЛУ по всем данным, где нужен итог (.formula="sum(......)" ЗДЕСЬ же (в начале\конце группы) ты можешь ОДНАЖДЫ вывести свой лимит по объекту, хоть он и повторяется в рекордсете на каждой строке Массив понадобится в КОНЦЕ отчета: когда нужно будет получить координаты итогов всех групп, чтобы сложить их во "всего) (так же, формулой листа Excel) Соответственно, формат выводимых ячеек у тебя под полным контролем, можешь получить отчет, в точности повторяющий Access ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 15:10 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
То Alexus12: Все правильно, но только дама просила пример, т.к. вышеописанный код ей непонятен, поэтому думаю, что и алгоритм тут большой роли не сыграет. Ну а по поводу массивов, ИМХО, то можно обойтись и без них (хотя с ними проще), просто завести переменные, где будет сумма с накопелнием по каждой группе и вставлять ее в итоги по каждой группе. Формулы тут не будет, конечно, но не знаю, насколько она тут нужна. Собственно, возможно сегодня вечером из дома кину рабочий примерчик. Я делал такое, когда работал в банке, только там было немного посложнее, т.к. данные с базы Informix выгружались в текстовый файл и приходилось руками строить отчет. Для этого я сам писал макрос в экселе, чтобы это делал за меня комп. Тогда все получилось, но куда-то уже подевал пример. ;-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 15:26 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
> Alexsus12 Ну, положим первый шаг я осилю Итого-в запросе все данные Дальше сложнее: Открываешь рекордсет (ОТСОРТИРОВАННЫЙ по всем нужным группам!!!) программно Где открываем? и заводишь группировочные переменные (по числу выводимых группировок) Переменные же надо описывать, а у меня их все время разное колличество (группировок- то) Я понимаю, что раз советуют, то можно это сделять, знать бы только как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 07:33 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
Всем большое спасибо!Я его ПОБЕДИЛА! Все сделала через Union all Самое интересное, что срабатывает быстро и красиво Щас еще условное форматирование в Excele и будет совсем красота! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 09:30 |
|
||
|
Еще раз про вывод отчета в Excel
|
|||
|---|---|---|---|
|
#18+
>Открываешь рекордсет (ОТСОРТИРОВАННЫЙ по всем нужным группам!!!) программно >Где открываем? Dim rstToXL As DAO.Recordset Set rstToXL = CurrentDb.OpenRecordset("имя твоего запроса", dbOpenDynaset) >и заводишь группировочные переменные (по числу выводимых группировок) >Переменные же надо описывать, а у меня их все время разное колличество (группировок- то) >Я понимаю, что раз советуют, то можно это сделять, знать бы только как? а) если в модуле нет Option Explicit - не требуется декларация б) в любом случа на каждый отчет будешь писать свою процедуру - а в нем групп разное количество? в) для переменного количества однородных переменных используют динамические массивы которым приращают размер оператором Redim PRESERVE myArray(ubound(myarray)+1) 'или в этом роде Расскажи подробнее как справилась - интересно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 11:28 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1660&tid=1675796]: |
0ms |
get settings: |
8ms |
get forum list: |
23ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 392ms |

| 0 / 0 |
