powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Хочу отчеты из Access формировать сразу в Excel. А смысл?
25 сообщений из 25, страница 1 из 1
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32245815
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Появилась вот такая идея!
Смысл всей затеи, что-б результат пользователь мог распечатать сразу. Внести любую необходимую правку и распечатать и т.д.

Преполагал, разработать некий шаблон для отчета в формате Excel, а далее его заполнять!

Это маразм чистой воды, или я не один в своей идеи. Есле не один, то было бы занятно услышать о методе решения нескольких вопросов, родившихся у меня в голове (пока еще даже к решению не приступал, только мозговой штурм):

Вопросы:
1. Значения в полях, для подставления из базы, в шаблоне вводятся как переменные начинающиеся, скажем, со знака "@@". Это логично?

2. На отдельном листке в шаблоне сохранять настройки отчета, пока не знаю зачем, но думаю прегодится. Прегодится-ли? Всякие размеры отчета в количестве столбцов/строк.

3. Для формирования списка организовать подобие из Access. Где, скажем, первая ячейка имеет значение "Область данных - начало" и далее n строк будут скопированы для каждой записи. Количество строк ограничиваются ячейкой с текстом "Область данных - конец". Или не мучаться и взять отчет из Access?

3.а. Шапки и прочее можно так-же ограничить! Хотя это средствами Excel лучше сделать, думаю да?!

Жду критики!

mahoune
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32245825
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично я так вообще не понял, на хрена такой геморрой?!
В чем проблема с тем, чтобы сделать это в Аксесе???
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32245826
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В порядке предложения.
А не проще ли экспортировать в Ексель стандартными средствами, а
затем уже в Екселе запускать макрос для придания отчету приличного вида.
Как вам такой вариант?
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32245863
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mahoune
Делал я похожий изврат. С шаблонами, именами переменных, потом туда внендюрились условные операторы, потом пошло-поехало... Только у меня в хтмл все пихалось (не спрашивайте меня зачем).
Работало. Кайфа много не приносило. Лучше это делать стандартными средствами. В случае экселя - пихай данные на отдельный лист в сыром виде (шапку отдельно данные отдельно), потом эксельным макросом копируй значения куда нужно - чтоб пользователь правил.
Так немного проще чем sasha_1 написал. В смысле проще данные в отформатированное место скопировать из неоформатированного, чем блеск и формат на кучу цифр наводить.
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32245870
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вариант:
не использовать стандарнтые средства, а юзать свою процедурку,
выводящую рекордсет в нужное место открываемой книги ХЛ
с любым указываемым ФОРМАТИРОВАНИЕМ для каждой ячейки.

Например, так:

Код: 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.
Function Prn2XL(tRow, tCol, tText, Optional tAlign =  "L" , Optional tBIU =  "", Optional tFontName = " Arial ", Optional tFontSize = 10 , Optional tBorder = "None ", Optional tNumberFormat = "  ", Optional tWrapText = False)
'ВЫВОД ОДНОЙ ЯЧЕЙКИ В ХЛ

' Place some text in the first cell of the sheet.
'уже открытый объект XL:
With ExcelSheet.Application.Cells(tRow, tCol)
'вывод текста
.Value = tText

'выравнивание
Select Case tAlign
Case "R"
.HorizontalAlignment = -4152 'xlRight
Case " C "
.HorizontalAlignment = -4108  'xlCenter
Case Else 'L
.HorizontalAlignment = - 4131  'xlLeft
End Select

'ЖКЧ
If InStr(tBIU, "B ") > 0  Then .Font.Bold = True
If InStr(tBIU, "I ") > 0  Then .Font.Italic = True
If InStr(tBIU, "U") >  0  Then .Font.Underline =  2  'xlUnderlineStyleSingle

'FONT
.Font.Name = tFontName
.Font.Size = tFontSize

'Borders
Select Case tBorder
Case "All"
.Borders.LineStyle = 1 'xlContinuous
Case Else 'None
.Borders.LineStyle = -4142 'xlNone
End Select

'NumberFormat
If tNumberFormat <> "" Then .NumberFormat = tNumberFormat

'WrapText
.WrapText = tWrapText

End With

End Function


Как выводить рекордсет, думаю, можно догадаться ;)
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32245871
PaulB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Access можно быстро создать и напечатать практически любой отчет, смотрите "C:\Program Files\Microsoft Office\Office\Samples\Решения.mdb"
А в Excel для каждого отчета нужно писать новую программу. И чем больше уровней иерархии в отчете, тем сложнее программа и больше верятность ошибки. Отказ от отчетов Access означает, что Вы не знаете как их создавать и не пользуетесь всей мощью технологий БД, что очень скоро сослужит Вам плохую службу.
Аргумент, что отчет Access невозможно отправить по электронной почте в таком виде как отчет выглядит на экране, считаю безосновательным: установите Adobe Acrobat и печатайте отчеты на Acrobat Distiller в файлы формата PDF, которые все могут читать Acrobat Reader.
Я создаю отчеты в Excel только в крайнем случае. В этом случае в рабочей книге (это может быть шаблон xlt) присутствуют три листа: лист отчета, лист временных данных, лист настроек. Листы отчета и временных данных очищаются, на лист временых данных выбрасывается исходная таблица с помощью метода CopyFromRecordset, затем формируется отчет. Можно воспользоваться методом DoCmd.OutputTo, но обычно я им не пользуюсь.
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32245879
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Отказ от отчетов Access означает, что Вы не знаете как их создавать и не
>пользуетесь всей мощью технологий БД, что очень скоро сослужит Вам
>плохую службу.
зачем же так грозно. :)
человек же сказал, нужно чтобы пользователь мог отчет подправить.
как ты себе представляешь это в отчете Аксеса?
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32245891
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня на фирме из аксапты любой отчет можно вывести в эксель.
Наверное, это потому, что аксаптологи не умеют отчеты создавать . Не говоря уже о использовании "всей мощи технологий БД" . Дейт в гробу бы перевернулся от такой мощи
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32245957
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня несколько проще

Почти как ЛП глаголил:
Есть шаблон, в нем 1 лист отчетный, с него стоят линки на вспомогательные (скрытые) листы, на которые я выбрасываю данные. Вся прелесть в том, что кол-во строк заранее известно (например, не может быть более 100) и по этому возможен данный способ. Потом я лишние/пустые ячейки скрываю/удаляю. А сам лист (уже чисто отчет) копирую в книгу с еще кучей таких отчетов, получая пакет отчетности.
Все хрень прекрасно работает, да еще и на другой язык переводит :)
Никаких макроподстановок и меток - все засчет линков (но возможно кому-то данный способ и не подойдет, например из-за неизвестного кол-ва строк)
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32245970
PaulB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отчет из Access в Excel? да одним левым пальцем: Сервис/Связи с Office/Анализ в MS Excel, а кто-то программы собирался писать...
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32245980
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ПаулБ
Щастья тебе. С одним то левым пальцем.
Ты хоть одним левым глазом погляди, что он там выводит.
Любой ползьватель этого сначала испугается, а потом засунет это тебе куда-нибудь.

2 Сенин Виктор
Линки хорошо, но если пользователь будет править данные (как ему кажется) - он же вместо линков цифры вобьет. Оч плохо будет.
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32246175
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да... с линками хорошая идея!

А вопрос такой. Я вот из Access создам объект Книга Excel. Загружу туду шаблон из файла. В шаблоне иже есть Процедурки и Функции (Sub/Function).

Как их можно вызвать на исполнение? Чем это черевато?

Мое заключение:
Выводить данные из Access в лист Excel.
Потом запускать макрос из книги Excel (я думаю удобно когда макрос форматирования лежит вместе с шаблоном) который перенесет данные в форматированиы лист и удалит исходный!

mahoune
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32246198
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе нормальное заключение. Я бы, правда, удалять сырые (исходные) данные не стал, но это уже дело вкуса.

Запуск макроса - или Excel.Application.Run, или, если в модуле класса у листа функция написана, Excel.Application.Workbooks(index).Worksheets(index).YourFunctionHere
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32246213
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ЛП
>Линки хорошо, но если пользователь будет править данные (как ему кажется) - он же вместо линков цифры вобьет. Оч плохо будет

Плохо не будет, ты не дочитал или я не дообъяснил :)
"А сам лист ( уже чисто отчет ) копирую в книгу с еще кучей таких отчетов"
Т.е. копирую готовый лист-отчет, чисто-конкретно отчет only. Ни линков, ни лишних строк, а шаблон который мучал - удаляю (верней удаляею копию шаблона).

2mahoune
>Как их можно вызвать на исполнение? Чем это черевато?

Как-то не приходилось делать, весь код по управлению екцелем на стороне акеса. С чем он прекрасно справляеться. Хотя верней сказать не акес, а Excel Object Liblary, т.е. Екцел. Или акес? :)
А чреватость может быть, например, ввиде отключенных скриптов на клиенте, из-за повышенного уровня безопасности.
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32246305
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senin Viktor... Возможно что и отключен... Но я думаю, если я буду запускать из Access - то пофиг будет...
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32246315
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Но я думаю, если я буду запускать из Access - то пофиг будет...

Нет не пофиг, а нафиг. В смысле твои попытки запустить макрос, который "средствами безопасности" отключен пойдут нафиг :)
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32247107
Читатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то есть готовые решения проблемы создания отчетов Excel из Access.
Например - AfalinaSoft. Поиском по интернету можно найти и другие.

Хотя лично меня пока не устроило ни одно.
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32247816
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сделал так:
1 Таблица : формата области данных, шапок на каждую страницу, имя источника (запрос), доп условия
2 Таблица уровни группировки : имя поля, заголовок группы, примечание группы.

Все описания - листы екселя.
Если в листе есть #Имя поля# - меняется на значение
ещё всякие #PageBreak# , #Group# , #CurrentRecord# и тому подобное
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32249085
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да... Что-то в этом духе и я думаю сляпать!

mahoune
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32249340
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не решённой пока проблеммой осталось объединение ячеек.

перенос порции данных идёт черег клипборд:
-Из Асеса копируется оформление и вставляется в ексель
- заполняется строка данных и вставляется в ексель
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32254279
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Базарили, базарили....А в итоге, кто скажет как запускать макрос exl черес access?
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32254317
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так уже где-то писали, ничего сложного, также как и в самом Excel, можно сделать так:
mySum = Application.Run("MYCUSTOM.XLM!My_Func_Sum", 1, 5)
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32254336
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Фале Excel создаем Функцию или Макрос:
Код: plaintext
1.
2.
3.
Public Function Test01 ()
  MsgBox  "We are in Excel Function Test01" 
End Function


В Access делаем такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject( "Excel.Application" )
ExcelSheet.Workbooks.Open  "D:\TEMP\Книга1.xls" 
ExcelSheet.Application.Visible = True
ExcelSheet.Application.Cells( 1 ,  1 ).Value =  "This is column A, row 1 "
ExcelSheet.Application.Run  "Test01" 
ExcelSheet.Application.Quit
Set ExcelSheet = Nothing

mahoune
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32254640
Kach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я юзаю таку штуку
Tera XL Report-ActiveX компонент для создания отчетов в Microsoft Excel
очень удобная, просто класс
скачать моно отседова www.terasoft.ru
тама и примерчики есть, и т.д.
...
Рейтинг: 0 / 0
Хочу отчеты из Access формировать сразу в Excel. А смысл?
    #32254968
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mahoune, Большущее тебе спасибочко....
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Хочу отчеты из Access формировать сразу в Excel. А смысл?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]