MSACCESS / VBA: на какой странице отчета появится объект? - PullRequest
0 голосов
/ 11 января 2011

Вот что у меня есть:

Отчет с переменным количеством страниц, с 4 основными текстовыми полями.Количество страниц зависит от длины текста в текстовых полях.

Я рисую границы вокруг своего отчета и использую границы текстовых полей для разделения разделов.

пример:

 _____________  
|1            |  
|             |  
|             |  
|_____________|  
|2            |  
|             |
|             |
|_____________|
|3            |
|_____________|

проблема в некоторых случаях, 1 будет слишком длинным, поэтому в нижней части страницы есть пустая часть.это не проблема, проблема в том, что это выглядит так:

 _____________
|1            |  
|             |  
|             |  
|             |  
|             |  
|             |
|_____________|
|             |
|             |
|_____________|

, хотя я хочу, чтобы это выглядело так:

 _____________
|1            |  
|             |  
|             |  
|             |  
|             |  
|             |
|             |
|             |
|             |
|_____________|

Таким образом, я пытаюсь добавить некоторый код всобытие page, чтобы скрыть границы последнего текстового поля на странице.

Проблема в том, что, как мне кажется, после того, как access перемещает текстовые поля вокруг отчета, чтобы поместить их на место, их уже нетмодифицируемый ... Или я не прав?

У кого-нибудь есть идеи, как это решить?

1 Ответ

0 голосов
/ 11 января 2011

Я думаю, что самый простой способ сделать это - напечатать линию в верхней части раздела, а не границу вокруг.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)

Report.ScaleMode = 3
lft = Report.ScaleLeft
top = Me.MyTextbox.Top - 40
wdt = Report.ScaleWidth 
hgt = 1 

Me.Line (lft, top)-Step(wdt, hgt), vbBlack
End Sub
...