Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с отчётом в Access 2003
 
 автор: Дрон   (10.03.2009 в 12:11)   личное сообщение
 
 

Как программно задать отказ от печати нижнего колонтитула на первой и последней странице отчета?
На сайте Microsoft нашёл выражение, но не работает выдаёт ошибку.
Reports!Reports1.PageFooter = (0,1,2,3)

  Ответить  
 
 автор: Анатолий (Киев)   (10.03.2009 в 12:53)   личное сообщение
 
 

Reports!Reports1.PageFooter = 3
Это, если отчет открыть в режиме конструктора.
"На лету" это делается на событии Report_Open, и пишется так: Me.PageFooter = 3

  Ответить  
 
 автор: Дрон   (10.03.2009 в 15:17)   личное сообщение
 
 

Всё равно выдаёт ошибку. Не пойму в чём дело.

  Ответить  
 
 автор: Анатолий (Киев)   (10.03.2009 в 15:25)   личное сообщение
 
 

А у вас колонтитулы присутствуют в отчете?

  Ответить  
 
 автор: Дрон   (10.03.2009 в 15:26)   личное сообщение
 
 

Да и верхний и нижний

  Ответить  
 
 автор: Анатолий (Киев)   (10.03.2009 в 16:17)   личное сообщение
 
 


HELP: You can set the PageFooter property only in report Design view.

Так что по поводу "На лету это делается на событии Report_Open" я погорячился. Какая у вас задача? Почему нельзя указать это свойство заранее?

  Ответить  
 
 автор: Дрон   (10.03.2009 в 16:36)   личное сообщение
 
 

Задача в том, что бы колонтитул вывести только на последней странице.
Me.НижнийКолонтитул.Visible = False работает не корректно, а Cancel = 0 оставляет пустые поля.
Вот я и подумал воспользоваться свойством отчёта.

  Ответить  
 
 автор: Анатолий (Киев)   (10.03.2009 в 17:23)   личное сообщение
 
 

1. Инструкция Reports!Reports1.PageFooter = 3, даже если бы она и работала "на лету", имела бы эффект, обратный вашему замыслу (колонтитул вывести только на последней странице), т.к. не выводит колонтитул на первой и последней странице.
2. "Cancel = 0 оставляет пустые поля" в том случае, если вы применяете его на событие PageFooter_Print. Попробуйте на PageFooter_Format.
3. Может вам лучше использовать раздел "Примечание отчета"?

  Ответить  
 
 автор: Дрон   (11.03.2009 в 08:57)   личное сообщение
 
 

1. В моём в отчёте надо в определённых случаях выводить или примечание отчета или нижний колонтитул. Поэтому инструкция Reports!Reports1.PageFooter = 3 подошла бы. Но никак не могу её заставить работать.
2. У меня и на событие PageFooter_Format тоже остаются пустые поля. Так как высота колонтитула 6 см, то это сильно портит документ.
3. Может и можно использовать раздел "Примечание отчета", но надо как-то опустить его вниз документа.

  Ответить  
 
 автор: Lukas   (11.03.2009 в 18:04)   личное сообщение
 
 


Как программно задать отказ от печати нижнего колонтитула на первой и последней странице отчета?



Private Sub НижнийКолонтитул_Format(Cancel As Integer, FormatCount As Integer)
    Cancel = ([Page] = 1 Or [Page] = [Pages])
End Sub

  Ответить  
 
 автор: Lukas   (11.03.2009 в 18:23)   личное сообщение
 
 


Задача в том, что бы колонтитул вывести только на последней странице.



Private Sub НижнийКолонтитул_Format(Cancel As Integer, FormatCount As Integer)
    Cancel = Not([Page] = [Pages])
End Sub 

  Ответить  
 
 автор: Дрон   (12.03.2009 в 12:51)   личное сообщение
 
 

Cancel = Not([Page] = [Pages]) - работает, но там где нет колонтитулов остаются пустые места. Пустые места в 6 см портят вид документа.
If Not (Me.Page = Me.Pages) Then Me.PageFooter.Visible = False - нет пустых мест, но работает не корректно (мне кажется, из-за неправильного вычисления [Pages])

  Ответить  
 
 автор: Lukas   (12.03.2009 в 12:54)   личное сообщение
 
 

А если вместо
Me.Page = Me.Pages
использовать
[Page] = [Pages]
?

  Ответить  
 
 автор: Дрон   (12.03.2009 в 14:45)   личное сообщение
 
 

Всё одно.
Вот я и подумал, если с колонтитулом не получается, может попробовать примечаем отчёта опустить вниз документа.
Из высоты страницы вычесть высоту области данных на последней странице. На разницу увеличить высоту примечания отчёта и опустить текстовые поля.

  Ответить  
 
 автор: Lukas   (11.03.2009 в 18:24)   личное сообщение
 
 


В моём в отчёте надо в определённых случаях выводить или примечание отчета или нижний колонтитул.



Надо разобраться для начала в голове, чего же таки надо от отчета?
Три взаимоисключающих задачи подряд.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList