Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / [Pages] в отчетах... / 18 сообщений из 18, страница 1 из 1
06.10.2003, 21:09
    #32285625
MixaCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
Народ!!! еще один вопрос....

Стоит задача - печать четных и нечетных страниц в отчете....
Ну чтобы проще и меньше было сшивать...

Стандартно в Access2000 - не нашел, как сделать....

Ладно думаю, дай заиспользую Pages и сам напечатаю PrintOut'ом...

Фиг там!!!! Оказалось, что это мощное свойство микро-софт дает правильное значение только если его поместить в отчет!!! Кто интересно до этого шедевра дошел.....

Время загрузки отчета на просмотр - выростает на порядки, а будут ли они печатать или нет - может просто посмотрят..... Самое интересное, что он форматирует, форматирует... а если потом перейти с первого на последний лист (?!??) снова форматирует - спрашивается - и че делал то вначале - ведь раскидал почитай уже все....

Может кто-то сталкивался - буду благодарен любому совету....
...
Рейтинг: 0 / 0
06.10.2003, 22:21
    #32285644
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
Мысль вслух.

Код: plaintext
1.
2.
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
If Page Mod  2  = AAA Then Cancel = True
End Sub

И так во всех секциях.

Глобальная переменная AAA равна 0 или 1 в зависимости от того, надо ли отменять четные или нечетные страницы.
...
Рейтинг: 0 / 0
07.10.2003, 18:38
    #32286828
MixaCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
И я так понимаю на месте "ненужных" страниц я получу пустой лист - форматирование (размещение) данных ведь уже прошло!? Так?!?

И второе - как отличить печать "на экран" от на принтер - нету же в А таких свойств (событий и пр...)!?!?
Может можно как-то через эти "мощные" структуры - PrtMip и пр (не помню как точно называются) - настройки девайсов!?? хотя при беглом просмотре тоже не нашел соответсвующих свойств....
...
Рейтинг: 0 / 0
07.10.2003, 18:45
    #32286833
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
> И я так понимаю на месте "ненужных" страниц я получу пустой лист - форматирование (размещение) данных ведь уже прошло!? Так?!?

Не так.

> И второе - как отличить печать "на экран" от на принтер - нету же в А таких свойств (событий и пр...)!?!?

Можно добавить дополнительный If с глобальной переменной, которая будет обозначать, запущено ли Print или Preview. Правда, остается проблема в случае, когда юзер запустит на печать из Preview.

> Может можно как-то через эти "мощные" структуры - PrtMip и пр (не помню как точно называются) - настройки девайсов!?? хотя при беглом просмотре тоже не нашел соответсвующих свойств....

Мне тоже кажется, что там нет...
...
Рейтинг: 0 / 0
07.10.2003, 18:45
    #32286834
JinP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
Может это поможет решить Ваши проблемы?
____________________________________________________________
Автор: Владимир Мамзиков ICQ 10422611
mvs@seplus.ru

Когда-то, давно написал я тут для себя процедурку облегчающую мне жизни при печати отчетов на 60 листов при 2-х стороннем использовании листов.

Работает она так:
Сначала печатаются нечетные страницы, а потом четные. При этом печать четных страниц идет в обратном порядке, - потому как мой принтер листы переворачивает и мне "в лом" их снова перекладывать :)

Если кому это не подходит, - придется процедурку подправить ;)
В проге нужно сделать специальный отчет "Пустой отчет", - для печати одной
пустой страницы (ну не придумал я как дать принтеру команду пропустить лист
:)

Еще одно.
В распечатываемом таким образом отчете должно быть заведено невидимое
служебное поле "Страниц" c источником данных "=[Pages]"

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Public Sub Print2SizeReport(S As String)
    DoCmd.OpenReport S, acPreview
    DoCmd.Minimize
    Dim KolPages As Integer, KolList As Integer, i As Integer
    KolPages = Reports(S)![Страниц]
    KolList = Int(KolPages /  2 ) + IIf(KolPages Mod  2  =  0 ,  0 ,  1 )
If MsgBox( "Вставьте в принтер "  & KolList &  " листов !" , vbOKCancel) = vbOK Then
    For i =  1  To KolList *  2  -  1  Step  2 
        DoCmd.SelectObject acReport, S
        DoCmd.PrintOut acPages, i, i
    Next i
    For i = KolList *  2  To  2  Step - 2 
        If i > KolPages Then
            DoCmd.OpenReport  "Пустой отчет" , acNormal
        Else
            DoCmd.SelectObject acReport, S
            DoCmd.PrintOut acPages, i, i
        End If
    Next i
End If
DoCmd.Close acReport, S
End Sub
...
Рейтинг: 0 / 0
07.10.2003, 18:48
    #32286839
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
Увы, в этой подпрограмме использовано Pages, т.е. вопрос, заданный автором топика, остается в виде вопроса, а не ответа.
...
Рейтинг: 0 / 0
07.10.2003, 18:56
    #32286847
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
Вывод на превью всего (без всяких "усовершенствований"). ПринтАут с номерами страниц (постранично) в цикле. 2 кнопки (или п-та меню) - для четных и для нечетных.
...
Рейтинг: 0 / 0
07.10.2003, 19:05
    #32286855
MixaCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
По поводу отмены печати секции - можно попробовать, только как правило на печать запускается именно с просмотра (по крайней мере я - всегда).... можно заменить стандартную кнопку своей (с которой вызывать стандартную и устанавливать флаг - хотя как быть с отменой?!?) и пр....

Раньше делал без Pages - задавал цикл - ну до 200 (заведомо больше - извиняюсь за дурной стиль программирования) - и гонял PrintOut - все бы зашибись, только вот когда страницы заканчиваются .... нет - он не печатает пустые, но продолжает что-то пыжится...и отправляет на печать что-то (с сервера печати приходят уведомления о завершении...)

Вот если бы он хоть ошибку выдал - типа нет страницы - можно было бы обработать....

Может что-то в этом направлении известно?!?
...
Рейтинг: 0 / 0
07.10.2003, 19:19
    #32286867
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
помести скрытое поле hpages=[pages]. На печать после превью.
...
Рейтинг: 0 / 0
07.10.2003, 19:24
    #32286872
MixaCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
2 assa: внимательно прочитай(те) первый топик.....
...
Рейтинг: 0 / 0
07.10.2003, 19:30
    #32286875
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
> все бы зашибись, только вот когда страницы заканчиваются .... нет - он не печатает пустые, но продолжает что-то пыжится...и отправляет на печать что-то (с сервера печати приходят уведомления о завершении...)

Опять на правах мыслЕй вслух. Заводим глобальную переменную P и в OnPrint пишем:

If Page > P Then P = Page

Таким образом после печати последней страницы P будет равно общему числу страниц. А теперь в этом цикле до 200 можно сравнить P с параметром цикла и при необходимости выйти.
...
Рейтинг: 0 / 0
07.10.2003, 19:35
    #32286877
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
не въехал.
Времени жалко?
Тогда Реализуй 2 отдельных отчета.
1. Отчет четных страниц.
2. Отчет нечетных страниц.
:) если сможешь


я поставил поле в шапку. Да, при входе форматирует дольше. Но я его смотреть не буду. Запущу на печать цикл. И фсе. А че ты еще хочешь? Границу цикла-то я теперь задать могу.
...
Рейтинг: 0 / 0
07.10.2003, 20:00
    #32286886
MixaCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
2assa: Времени жалко, конечно..... тем более бесполезного в 90% случаев...
А по поводу отделного отчета на четные и нечетные - я еще не поехал крышей, чтобы перепрограммировать Access и отслеживать что и как он размещает на страницах.... - тем более, что на 1 у меня расшифровка с цифрами, а на 2 - только цифры....

2Владимир Саныч: Спасибо! - видимо действительно так покатит....если только он остановится после окончания данных..... - хотя по всей логике Page должен перестать меняться.....

Всем спасибо!!!!
...
Рейтинг: 0 / 0
07.10.2003, 20:09
    #32286892
assa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
придумал изврат - открыть с сурсом=[Pages], запомнить его в переменную, открыть с сурсом="".
После этого пусть смотрят. (Если mdb - можно еще и не закрывать а в дизайн переключаться). Но ес-но - "та-же хрень, но вид сбоку".
...
Рейтинг: 0 / 0
07.10.2003, 22:15
    #32286936
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
Кстати, у всей этой идеи есть один большой недостаток. При постраничной печати посылается на принтер баннер юзера (тьфу, а русские слова в этом языке бывают?..) перед каждой страницей. Чего нет при печати всего отчета одной командой.
...
Рейтинг: 0 / 0
07.10.2003, 23:05
    #32286942
MixaCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
Согласен, но у нас баннеров нет (пока) - слава богу....

Недостаток еще и тот, что он форматирует их по отдельности и сначала отчета (такое впечатление)... т.е. дольше процесс идет, чем при обычной печати..

А вот че им "впадлу" было сделать возможность печати чет и нечет?!?! Может это есть в последующих версиях?!?! - было бы приятно....
...
Рейтинг: 0 / 0
08.10.2003, 11:55
    #32287340
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
> А вот че им "впадлу" было сделать возможность печати чет и нечет?!?! Может это есть в последующих версиях?!?! - было бы приятно....

По-моему, такая возможность есть у новых принтеров. Поставил птичку в настройках драйвера - и оно печатает четные отдельно, нечетные отдельно.
...
Рейтинг: 0 / 0
08.04.2004, 12:16
    #32473406
Gunduk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[Pages] в отчетах...
Большое спасибо, JinP

Твой код мне помог. Конечно скорость не очень, но это лучше чем
ручная работа.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / [Pages] в отчетах... / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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