powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Высота полей в отчете (по самому высокому)???
6 сообщений из 6, страница 1 из 1
Высота полей в отчете (по самому высокому)???
    #32368546
Geen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С Новым вас!
Давно назревал вопрос:
Думаю все сталкивались с разрешением на расширение поля в отчете
так вот, если дать всем и сделать границу - получается корявенько:(
Если просто нарисовать линию и подравнять по верхнему - красиво, но столбы не разделены визуально:(

Теперь вопрос:
Может объявить переменную, задать значением выстоту самого высокого и остальным поставить значение?
или есть готовые решения?
или есть идеи?
и каким свойством пользоваться для задания значения переменной?
и вообще сам алгоритм с трудом сеебе представляю:(((

Geen
...
Рейтинг: 0 / 0
Высота полей в отчете (по самому высокому)???
    #32368549
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это есть у Гетца. Только вечером могу выслать пример.
Cooking Book
...
Рейтинг: 0 / 0
Высота полей в отчете (по самому высокому)???
    #32368552
Geen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И тебе привет!
Спасибо - буду ждать:)

Geen
З.Ы. Ну нету у меня Гетца:(((
...
Рейтинг: 0 / 0
Высота полей в отчете (по самому высокому)???
    #32368554
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) GeenМожет объявить переменную, задать значением выстоту самого высокого и остальным поставить значение?
Можно. Вот тебе и алгоритм.

2) Geenили есть готовые решения?
У Гетца. Писал выше.

3) Geenили есть идеи?
см п.1

4) Geenи каким свойством пользоваться для задания значения переменной?
Height

5) Geenи вообще сам алгоритм с трудом сеебе представляю:(((
см п.1
...
Рейтинг: 0 / 0
Высота полей в отчете (по самому высокому)???
    #32369573
Не дождался я примера от Темного. А надеялся увидеть что-то новенькое, т.к. Гетс у меня есть ("Access 2000" 2 тома), но об этом ничего не нашел.

По событию Print раздела св-во Height поля возвращает реальную высоту, но высоту других полей в этот момент изменить нельзя, поэтому рамки у полей надо убрать и рисовать их методом LINE отчета, например:

Me.DrawWidth = 8
With Me.TextBox1
Me.Line (.Left, .Top)- (.Left + .Width, .Top + .Height), , B
End With
Здесь рисуется рамка толщиной 8 пикселов. (для разрешения в 600 dpi - 1 пункт).

Но у метода LINE есть ряд подводных камней.
1. Толщина линии (св-во DrawWidth) указывается в пикселах. Для разрешения в 600 dpi при 8 пикселах толщина линии - 1 пункт, для 300 dpi - 2 пункта, а на матричном - и того больше. Поэтому толщину нужно корректировать с учетом текущего разрешения, которое можно (не без труда) извлечь из св-ва PrtDevMode, c помощью API функций, или, например, так:

Dim dpiX As Long
Me.ScaleMode = 3 'Pixels
dpiX = Me.ScaleWidth
Me.ScaleMode = 5 'Inch
dpiX = dpiX / Me.ScaleWidth
Me.ScaleMode = 1 'Twips
MsgBox "dpiX = " & dpiX

Толщина линии указывается так:
Me.DrawWidth = 8 * dpiX / 600
Здесь 600, это разрешение принтера, использованного при создании отчета.

По умолчанию DrawWidth = 1, и если вы не меняете его, то этой коррекцией можно пренебречь.

2. Высота раздела, к сожалению, не меняется. Если она равна высоте поля, то нет проблем. Иначе, что бы получить красивую таблицу без разрывов, нужно вычислять ее. Например, запомнить исходную высоту поля, а по событию Print учесть разницу между реальной и исходной высотой поля.
Можно и по другому. Рисовать вертикальные линии с большим запасом по длине (лишнее не нарисуется), а горизонтальную - только верхнюю, например:
Me.Line (0, 0)-(Me.Width, 0)

Может у кого-нибудь есть примеры получше? Не стесняйтесь.
Help по этим (и подобным) свойствам и методам очень куцый, и в литературе почти ничего нет. Приходится идти методом проб и ошибок.
...
Рейтинг: 0 / 0
Высота полей в отчете (по самому высокому)???
    #32378727
Julius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по-моему не самый лучший способ. Лучше в событии форматирование раздела определить на сколько строк разобъется отображаемая строка в том спмом поле, которое будет расширяться и просто явно задать всем остальным полям соответствующую высоту. А потом задать такую же высоту разделу. Работает вполне корректно и не надо никакие линии рисовать.
Самый большой минус - это как раз сложность определения того, на сколько строк Access растянет не помещающиеся данные, но тут, если покумекать, явно можно найти решение.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Высота полей в отчете (по самому высокому)???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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