Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Изменение положения поля в отчёте  [new]
Аллюр Д.
Member

Откуда:
Сообщений: 1834
Есть отчёт, поля с названием оборудования и моделью выровнял по вертикали по центру, чтобы было красивее (инвентарный и серийный номера всегда выводятся как две строки, а название типа оборудования и модели лучше смотрятся выровненные по центру по вертикали)

Для большинства оборудования одной строки хватает, но вот есть модели, когда часть названия переносится на вторую строку и получается некрасиво.

В событии ОбластьДанных_Print видно увеличившуюся высоту поля, но уже нельзя присвоить Top=0, чтобы поднять поле к верхней границе

Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
MsgBox "Print" & Me.Section(acDetail).Height & vbNewLine & fldDevname.Height & vbNewLine & fldDevname.Top
'fldDevname.Top = 0 ' <-- появляется ошибка!
End Sub


Можно ли как-то, не по количеству символов, определить, что появилась вторая строка и изменилась высота поля?

Есть смутные воспоминания, что люди делали как-то через API, переводя в картинку, и определяли высоту, но что-то даже не знаю как вопрос для поиска сформулировать.

Если не получится, поставлю Расширение = нет, но пока хочется сделать красиво :)

К сообщению приложен файл. Размер - 27Kb
20 апр 21, 17:56    [22311589]     Ответить | Цитировать Сообщить модератору
 Re: Изменение положения поля в отчёте  [new]
zimkon
Member

Откуда: guest_rusimport
Сообщений: 195
Аллюр Д.,

К сообщению приложен файл (db45.zip - 21Kb) cкачать
21 апр 21, 09:03    [22311746]     Ответить | Цитировать Сообщить модератору
 Re: Изменение положения поля в отчёте  [new]
Аллюр Д.
Member

Откуда:
Сообщений: 1834
zimkon,

Спасибо! Работает! :)

К сообщению приложен файл. Размер - 23Kb
22 апр 21, 10:26    [22312314]     Ответить | Цитировать Сообщить модератору
 Re: Изменение положения поля в отчёте  [new]
zimkon
Member

Откуда: guest_rusimport
Сообщений: 195
Аллюр Д.,

На заметку. Если отчёт многостраничный, то надо в коде кнопки организовать цикл по каждой записи построить сначала отчёт для заполнения данных промежуточной таблицы. Время, конечно, увеличится формирования отчёта, но терпимо. И не забывайте до цикла и после цикла отключать прорисовку экрана, чтобы не мелькало, пока заполняется промежуточная таблица.
22 апр 21, 11:33    [22312365]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить