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

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

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

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

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

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

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

Жду критики!

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

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

Код: 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
25.08.2003, 10:59
    #32245871
PaulB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу отчеты из Access формировать сразу в Excel. А смысл?
В 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
25.08.2003, 11:08
    #32245879
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу отчеты из Access формировать сразу в Excel. А смысл?
>Отказ от отчетов Access означает, что Вы не знаете как их создавать и не
>пользуетесь всей мощью технологий БД, что очень скоро сослужит Вам
>плохую службу.
зачем же так грозно. :)
человек же сказал, нужно чтобы пользователь мог отчет подправить.
как ты себе представляешь это в отчете Аксеса?
...
Рейтинг: 0 / 0
25.08.2003, 11:15
    #32245891
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу отчеты из Access формировать сразу в Excel. А смысл?
У меня на фирме из аксапты любой отчет можно вывести в эксель.
Наверное, это потому, что аксаптологи не умеют отчеты создавать . Не говоря уже о использовании "всей мощи технологий БД" . Дейт в гробу бы перевернулся от такой мощи
...
Рейтинг: 0 / 0
25.08.2003, 11:49
    #32245957
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу отчеты из Access формировать сразу в Excel. А смысл?
У меня несколько проще

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

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

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

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

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

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

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

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

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

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

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

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

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

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

перенос порции данных идёт черег клипборд:
-Из Асеса копируется оформление и вставляется в ексель
- заполняется строка данных и вставляется в ексель
...
Рейтинг: 0 / 0
03.09.2003, 09:36
    #32254279
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу отчеты из Access формировать сразу в Excel. А смысл?
Базарили, базарили....А в итоге, кто скажет как запускать макрос exl черес access?
...
Рейтинг: 0 / 0
03.09.2003, 10:13
    #32254317
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу отчеты из Access формировать сразу в Excel. А смысл?
Так уже где-то писали, ничего сложного, также как и в самом Excel, можно сделать так:
mySum = Application.Run("MYCUSTOM.XLM!My_Func_Sum", 1, 5)
...
Рейтинг: 0 / 0
03.09.2003, 10:28
    #32254336
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу отчеты из Access формировать сразу в Excel. А смысл?
В Фале 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
03.09.2003, 13:16
    #32254640
Kach
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу отчеты из Access формировать сразу в Excel. А смысл?
Я юзаю таку штуку
Tera XL Report-ActiveX компонент для создания отчетов в Microsoft Excel
очень удобная, просто класс
скачать моно отседова www.terasoft.ru
тама и примерчики есть, и т.д.
...
Рейтинг: 0 / 0
03.09.2003, 16:16
    #32254968
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу отчеты из Access формировать сразу в Excel. А смысл?
mahoune, Большущее тебе спасибочко....
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Хочу отчеты из Access формировать сразу в Excel. А смысл? / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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