|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Здрасте всем. Помогите в решении проблемы - нужно сделать изменяемой высоту полей в строках отчета. Отчет сложный (поля друг над другом), ума не приложу, как это можно сделать. На приложенной картинке видно как расширена нижняя ячейка в одной из строк, это полбеды, можно и так оставить. Но мне нужно сделать изменяемыми поля отчета, отмеченные красными стрелками, при этом как-то добиться синхронного изменения размеров остальных полей, чтобы строка с расширенными полями выглядела ровной (к примеру, как первая строка в отчете), то есть подогнать размеры полей всей строки под данные. Как этого добиться? Еще была мысль, делать каким-то образом вывод в Excel (он ведь все ячейки в строке выравнивает по высоте), но как это сделать тоже не знаю. Самым лучшим вариантом будет всё же вывод отчета только в Access'e, без использования Excel. Помогите, а? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2008, 12:50 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
посмотрите на leadersoft.ru/ , в базах с примерами. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2008, 13:16 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Посмотрел. Там речь идет о высоте строк с полями расположенными в линию. У меня же поля расположены одно над другим. И как при этом вычислить что нужно изменять а что нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2008, 15:31 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Бредовый вариант: - открываете первый раз (hide), изымаете размеры отступы и тп - закрываете - открываете второй раз (visible) с исправлением координат и размеров Не проверял ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2008, 15:49 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Еще один геморройный вариант: 1. На событие открытия отчета считываем в массив высоту нижних полей + Top резиновых полей нижнего ряда(тех что со стрелками). 2. В событи Print секции сначала восстанавливаем положение и размеры полей нижнего ряда из массива. (поскольку они могли измениться в предыдущей записи) 3. Далее анализируем как изменились высоты резиновых полей. Перемещаем резиновые поля нижнего ряда на нужную высоту, если изменилась высота резиновых полей верхнего ряда(со стрелками). 4. Проверяем как изменилась высота резиновых полей нижнего ряда(со стрелками). 5. Вычисляем получившуюся максимальную высоту секции. 6. Подгоняем высоту полей нижнего ряда, которые без стрелок, под край (максимальная высота секции). Если что-то упустил - по ходу всплывет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2008, 16:04 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
nord-woolf2. В событи Print секции сначала восстанавливаем положение и размеры полей нижнего ряда из массива. Вроде нельзя в событии принт менять размеры и позицию контролов. Рисование поможет (имхо) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2008, 16:08 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
А насколько важно дробить адрес по вертикали ? И дату/время ? Проще и дешевле выводить адрес склеенный и из нескольких строк (можно с переводом строки) в одной ячейке. Обработка тогда сильно упростится - достаточно растянуть все поля по высоте поля адреса. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2008, 16:09 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
KrukVN nord-woolf2. В событи Print секции сначала восстанавливаем положение и размеры полей нижнего ряда из массива. Вроде нельзя в событии принт менять размеры и позицию контролов. Рисование поможет (имхо) Точно, сглючило. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2008, 16:14 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
KrukVN nord-woolf2. В событи Print секции сначала восстанавливаем положение и размеры полей нижнего ряда из массива. Вроде нельзя в событии принт менять размеры и позицию контролов. Рисование поможет (имхо) Похоже, что нельзя. У меня: Код: plaintext
Не дробить адрес? А как иначе его уместить в поле? Если растянуть все поля по высоте заранее (ну допустим, на 3 строки текста) то получается не экономичное использование площади листа. Адреса ведь не всегда длинные. Иногда умещаются и в одну строку текста ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2008, 16:29 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
У вас же адрес состоит из трех полей. Вот и склейте их в одну ддинную строку с нью лайн между отдельными полями. Вид будет такой же как сейчас, но без горизонтальных линеечек в общем поле адреса. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2008, 16:35 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Не, адрес не из трех полей. Точнее не совсем так. Точка разгрузки/выгрузки имеет три поля, действительно. Важно их разделить как предложено в моем макете отчета. Такова форма. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2008, 16:49 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Вот, посмотрите, я вам немного переделал пример от LeaderSoft. Лепил по быстрому, но надеюсь пример понятен. Успехов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2008, 08:11 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Этот код работает и для разной высоты полей, стоящих друг над другом. Код не менял, изменил только структуру отчета. LeaderSoft огромное спасибо за предоставленный пример. ...а то они на сайте, совершенно обоснованно, обижаются, что их копируют без копирайтов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2008, 08:25 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
вот еще код, делает то же самое... использовал сначала код от лидерсофта но в некоторых отчетах границы полей немного смещались, было некрасиво... нашел этот, автора не помню но спасибо ему за старания Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2008, 08:37 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Супер! Ребята, спасибо всем, всё получилось! Еще вопросик появился - при построении отчета иногда бывает, что остается пустое место на странице - можно ли как-то "добить" это пустое место пустыми строками? чтобы можно было потом туда от руки что-то вписывать, прям на бумаге? Чтобы нашим водителям по линейке не расчерчивать.. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2008, 10:47 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Посмотрел по форуму - нет решения для моей задачи. Как нарисовать в отчете пустые поля до конца страницы? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2008, 14:21 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
В принципе это возможно. У отчета есть свойство Me.NextRecord. Если ему указать True, то запись будет продублирована, а если при этом цвет шрифта в дубле сделать тем же, что и цвет фона - поля будут пустыми. Это делается на событие Format области "Данные" последней записи, но вам нужно будет как-то знать, что это последняя запись, и сколько дублей вместится до конца страницы. ИМХО - геморрой. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2008, 16:21 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Anton Klyauzov...иногда бывает, что остается пустое место на странице .... ...вся проблема в этом - иногда бывает - иногда не бывает... если с этим не заморачиватся, а добавлять пустые всегда, то все решаемо - ...можно в примечании отчета просто линиями намалевать... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2008, 16:31 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
иногда - у нас почти всегда. :) что касается линий в примечании - они же постоянно будут выводиться. а нужно - только когда пустое место на странице остается ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2008, 13:49 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Anton Klyauzovчто касается линий в примечании - они же постоянно будут выводиться. а нужно - только когда пустое место на странице остается А как же тогда шоферы? Забыли рабочего человека Anton KlyauzovЧтобы нашим водителям по линейке не расчерчивать.. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2008, 14:19 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Скачал пример, посмотрел и возник вопросик.... а почему используется обрисовка, а не скажем изменение высоты поля в которм еще в конструкторе задан цвет, тип и толжина границы???????? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2009, 10:48 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
Для тех кто не очень владеет с vba есть очень простой способ. В режиме макета выбираете все поля которые должны быть выведены в виде таблице. Правой клавишей выбираем "макет" далее "в виде таблице. И у вас все эти элементы становятся связанными. Далее при выделении любого поля этой таблице в верхнем правом углу появляется квадратик. Нажав на него выделяется вся группа элементов. Этой группе можно задать свойства как полю, тип границы, расширение, и другие. Access 2016. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 23:37 |
|
Высота полей в сложном отчете
|
|||
---|---|---|---|
#18+
ruprextвот еще код, делает то же самое... использовал сначала код от лидерсофта но в некоторых отчетах границы полей немного смещались, было некрасиво... нашел этот, автора не помню но спасибо ему за старания Отличный код. Только у меня небольшая проблемка: Почему такое может быть, что делаю так как в примере: Код: vbnet 1.
А рисует мне таблицу не в "области данных", а в "заголовке отчета", беря при этом за основу таблицу из "верхнего колонтитула"? Как его заставить рисовать в "Области данных"? Я уже все перепробовал, не пойму в чем дело... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2018, 14:39 |
|
|
start [/forum/topic.php?fid=45&msg=35544789&tid=1611060]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 273ms |
0 / 0 |