Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!! / 17 сообщений из 17, страница 1 из 1
26.08.2003, 07:05
    #32246940
demyan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Проблема следующая: программно создается отчет с помощью CreateReportControl, так вот когда создаваемые элементы подходят к концу страницы надо переходить на новую. Иначе получается следующий геморой: макс. длина отчета гдето 30000 с лишним (в координатах подставляемых в CreateReportControl) и дальше элементы просто не создаются - некуда их пихать места нет. Такая же проблема возникает, если допустим попробовать создать автоматом отчет из таблицы содержащей большое количество полей (допустим больше 30-40). Может кто подскажет чего делать.
...
Рейтинг: 0 / 0
26.08.2003, 09:09
    #32247009
demyan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Ну неужели никто не знает ?
...
Рейтинг: 0 / 0
26.08.2003, 09:18
    #32247017
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Может я чего-то не понимаю, а что такое "новая страница отчета" в конструкторе?
...
Рейтинг: 0 / 0
26.08.2003, 09:29
    #32247029
demyan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Конструктор вручную не используется - добавление полей идет программно и когда количество элементов на странице отчета переваливает за лист надо както переходить на новый лист, открывать новую страницу - типа переход страницы чтоли !!? Ну вот допустим создай таблицу из 50 полей и попробуй создать отчет на ее основе - ассеss скажет что элементы не влезают.
...
Рейтинг: 0 / 0
26.08.2003, 09:33
    #32247032
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
С какой это стати они не влезают?
Попробуй в тетрис поиграть. Авось сумеешь нормально хоть 150 полей в отчет запихнуть.
...
Рейтинг: 0 / 0
26.08.2003, 09:35
    #32247036
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Как я понимаю, больше нельзя. См. спецификации форм и отчетов ограничение по высоте 55.87=31678 твипов. Способ борьбы который я знаю - создание еще одного отчета и всовывание его подчиненным.
...
Рейтинг: 0 / 0
26.08.2003, 09:40
    #32247043
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Еще один способ - распихать все по разным разделам отчета.
...
Рейтинг: 0 / 0
26.08.2003, 10:27
    #32247101
demyan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Все это хорошо - но допустим есть таблица в 100 полей и на ее основе генерится отчет - в ширину эти поля не влезут в один отчет - ну и как тогда быть ? Если пихать в подчиненный - то ограничения теже, а распихать по разделам - это как это ? Можно ли как то программно сделать переход на новую страницу - создать новую страницу отчета или нет ?
...
Рейтинг: 0 / 0
26.08.2003, 10:32
    #32247108
demyan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Хорошо - чтобы не было вопросов - приведу код - который генерит отчет - побробуйте заменить в цикле увеличить переменную с 30 ну допустим до 50-60 и вы поймете в чем дело !

ОтчПост1 и ОтчПост_Шаблон - просто можно пустые отчеты.

Код: 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.
Private Sub Кнопка29_Click()
Dim frm As Form
Dim rep As Report
    Dim ctlLabel As Label
    Dim ctlText As TextBox
    Dim intLabelX As Variant, intLabelY As Variant
    Dim intLabelX1_1 As Variant, intLabelY1_1 As Variant
    Dim intLabelX1_2 As Variant, intLabelY1_2 As Variant
    Dim intLabelZ As Variant
    Dim i As Integer

    
    DoCmd.DeleteObject acReport,  "ОтчПост1" 
    DoCmd.CopyObject ,  "ОтчПост1" , acReport,  "ОтчПост_Шаблон" 
        
    DoCmd.OpenReport  "ОтчПост1" , acDesign
    
    Set rep = Reports![ОтчПост1]

    intLabelX1_2 =  2800 
    
    For i =  6  To  30 
     Set ctlLabel = CreateReportControl(rep.Name, acLabel, acHeader, , , intLabelX1_2, _
                                   1000 ,  1000 ,  600 )
     Set ctlText = CreateReportControl(rep.Name, acTextBox, acDetail, , , intLabelX1_2, _
                                  0 ,  1000 ,  300 )
     intLabelX1_2 = intLabelX1_2 +  1000 
     
    Next
    
    DoCmd.Save acReport,  "ОтчПост1" 
    DoCmd.Close acReport,  "ОтчПост1" , acSavePrompt
    DoCmd.OpenReport  "ОтчПост1" , acViewPreview
    
End Sub
...
Рейтинг: 0 / 0
26.08.2003, 10:37
    #32247114
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Ну нет такого понятия "новая страница". Ограничения отчета - высота раздела 55.87 см, общая (всех разделов) - около 5 метров, ширина 55.87. Все. И никаких новых страниц. Как я понимаю, проблема в ширине, мой совет касался высоты, по разделам тоже.
...
Рейтинг: 0 / 0
26.08.2003, 10:44
    #32247126
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
а какого собственно ражна нужно 100 полей пихать в один отчет?
кто его прочитать-то сможет?
не проще ли разбить на несколько, по смыслу?
(Новая страница-это понятие из текстового редактора. В шаблоне страниц
не бывает, там только структура.)
...
Рейтинг: 0 / 0
26.08.2003, 10:44
    #32247127
demyan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Да проблема в ширине ! Может есть какое решение как это обойти - ну предложите способ - ведь встречался же кто с этим - как боролись с таким гемороем !

Буду безумно благодарен ! Разработка программы ушла в аут - все на этой фигне повисло !
...
Рейтинг: 0 / 0
26.08.2003, 10:50
    #32247142
demyan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Ну есть такая необходимость чтобы он шел непрерывно в ширину. Насчет того что в отчетах нет страниц - я знаю - некоректно выразился просто про страницы. И все таки есть ли решение такого казуса. Нет я конечно понимаю, что можно считать количество полей и как только их станет слишком много - создавать новый отчет и пихать остатки туда - и так до окончания полей. Но это слишком проблемно - может всеже есть способ както разрядить данную ситуацию другими способами - или все таки нет ?
...
Рейтинг: 0 / 0
26.08.2003, 10:50
    #32247146
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
А на чем печатать эти полметра, на плоттере? Если склеивать - сделать два, три отчета.
...
Рейтинг: 0 / 0
26.08.2003, 11:04
    #32247175
АлексейЕ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Разберись с таблицей. (100 полей. Зачем?)
или же выводи в Excel
...
Рейтинг: 0 / 0
26.08.2003, 11:14
    #32247205
sasha_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
>можно считать количество полей и как только их станет слишком много -
>создавать новый отчет и пихать остатки туда - и так до окончания полей
если отчет предполагается печатать на обычном принтере, то это самый
простой и приемлемый вариант, имхо.
...
Рейтинг: 0 / 0
26.08.2003, 22:57
    #32248282
lobodava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!!
Отчет в MS Access в данном случае не помошник.
Правильно АлексейЕ говорит - выводи отчет в Excel.
Возможностей для форматирования не в пример больше чем в MS Access, да и ширина такого отчёта почти не ограничена.
Делал я как-то длиннющую портянку с графиком работ шириной метра два и высотой в метр, которая каждый день вывешивалась на стенку на всеобщее обозрение. Из MS Access создавался новый Excel файл и форматировалься в зависимости от данных. Причём програмирование на Excel VBA это просто песня: включил макрос на запись, сделал интерактивно нужные операции, остановил запись макроса и смотришь как твои действия в коде выглядят-СУПЕР!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как в отчете программно перейти на новую страницу. Люди помогите пожалуйста !!! / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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