|
|
|
| Задача - напечатать адрес и название компании в строго определённом месте. Длина строки может быть от 40 до 200 символов. Выровнять по вертикали надо по нижнему краю. Стандартными методами это не сделать поэтому написал простенький код. Загвоздка только в методе MOVE - ругается на этом месте и всё тут - "Введённое значение не подходит для данного свойства"
'Company - название поля
'В свойствах поля Company поставить сжатие - Да
'x-левая граница контрола величина постоянная - находится экспериментально
'y-нижняя граница расположения контрола величина постоянная - находится экспериментально
Const x = 100
Const y = 100
Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
TopNew = y + Company.Height
Company.Move x, TopNew
End Sub
|
В чём может быть дело? | |
|
| |
|
|
|
| >Company.Move x, TopNew
В А2000-2002 нет метода move у поля. Нужно так.
Можно так (если отчет разрешит):
Company.Top = TopNew
Только здается мне, что надо:
>TopNew = y - Company.Height | |
|
| |
|
|
|
| >Только здается мне, что надо:
>>TopNew = y - Company.Height
Точно. Не заметил.
А по всему остальному - преобразовал базу в 2003, выставил формат базы по умолчанию - 2003 - никак не хочет не мувит и не топает. И ошибка одна и та же - 2101 | |
|
| |
|
|
|
| Move в Private Sub ОбластьДанных_Print не работает. А текущая высота контрола только тут и показывается. Как же извернуться чтоб посмотреть актуальную высоту контрола в _Print , замувить его в _Page и отправить на печать... Неужель придёца програмно каждый отчёт печатать...воть ведь засада | |
|
| |
|
|
|
| У объекта Report есть метод Print, позволяющий напечатать текст в любом месте раздела. Читайте Help, там и пример есть. | |
|
| |
|
|
|
| Тоже вариант. Но я сделал так, буквально в двух словах.
У Report'а источник данных таблица. Все поля берут инфу из соответствующих столбцов.
В отдельном модуле получаю рекордсет этой таблицы и бегу по всем записям. Открываю Report для просмотра, и кодом который прописан на событие Detail_Print считываю текущую высоту нужного мне контрола в переменную. Затем открываю Report в режиме конструкора и выставляю нужный TOP этого контрола. Затем закрываю и посылаю Report на печать.
Ну да, мелькает при печати - но зато результат достигнут. | |
|
| |