Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для Rikozenit
3 / 3 / 0
Регистрация: 03.08.2015
Сообщений: 156

Автоматическая высота отчета в режиме "Всплывающее окно"

23.11.2017, 10:12. Показов 1603. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Подскажите пожалуйста, как настроить высоту Отчёта в режиме "Всплывающее окно", чтобы она соответствовала количеству строк в этом отчёте и не оставалось лишней пустоты?
(пример во вложении)
Спасибо!
Миниатюры
Автоматическая высота отчета в режиме "Всплывающее окно"  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.11.2017, 10:12
Ответы с готовыми решениями:

Всплывающее окно перекрывает окно отчёта
Доброго времени суток форумчане! Помогите пожалуйста победит всплывающию окошку, сделать так чтобы окно формы не перекрывало окно отчёта....

Автоматическая высота не работает на ul
Здравствуйте! Делаю чат. Делаю с помощью списков(ul) поскольку высоту записей вычислить трудно, я делаю их через height:auto; . Однако...

Автоматическая высота iscroll
Из-за библиотеки iscroll.js у меня вычисляется автоматически высота в зависимости от экрана. Так-же у меня возникает пространство, которое...

18
Эксперт MS Access
 Аватар для Eugene-LS
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
23.11.2017, 10:26
Цитата Сообщение от Rikozenit Посмотреть сообщение
(пример во вложении)
Нет примера!
0
 Аватар для Rikozenit
3 / 3 / 0
Регистрация: 03.08.2015
Сообщений: 156
23.11.2017, 10:28  [ТС]
Eugene-LS, как нет? Вон же миниатюра с картинкой... Я может неверно выразился, не пример, а пояснение задачи.
0
Эксперт MS Access
 Аватар для Eugene-LS
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
23.11.2017, 10:36
Цитата Сообщение от Rikozenit Посмотреть сообщение
Вон же миниатюра с картинкой...
Это не пример - это картинка.

Добавлено через 3 минуты
Rikozenit, а вообще было бы правильнее тут использовать форму
с
AutoCenter =True
AutoReSize = True
0
 Аватар для Rikozenit
3 / 3 / 0
Регистрация: 03.08.2015
Сообщений: 156
23.11.2017, 11:29  [ТС]
Eugene-LS, форма выводит всего одну строку(
0
Эксперт MS Access
 Аватар для Eugene-LS
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
23.11.2017, 11:33
Цитата Сообщение от Rikozenit Посмотреть сообщение
форма выводит всего одну строку
Сделайте её "Ленточной" (Continuous Form) - и всё будет.
0
Эксперт MS Access
 Аватар для Eugene-LS
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
23.11.2017, 11:54
Rikozenit, извините, но у меня агло-язычная версия MSA-2010 - но выглядит это примерно так (свойства формы):
Миниатюры
Автоматическая высота отчета в режиме "Всплывающее окно"  
0
 Аватар для Rikozenit
3 / 3 / 0
Регистрация: 03.08.2015
Сообщений: 156
23.11.2017, 13:18  [ТС]
Eugene-LS, ленточная форма помогла, спасибо, НО в ней нет верхнего колонтитула(( А я туда общую для строк инфу помещаю...
0
Эксперт MS Access
 Аватар для Eugene-LS
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
23.11.2017, 13:26
Цитата Сообщение от Rikozenit Посмотреть сообщение
НО в ней нет верхнего колонтитула
Всё там есть - не торопитесь пожалуйста.
0
 Аватар для Rikozenit
3 / 3 / 0
Регистрация: 03.08.2015
Сообщений: 156
24.11.2017, 09:26  [ТС]
Eugene-LS, Заголовок у Ленточной формы нашёл, общую инфу там разместил, но тут выяснилось 2 нюанса:
Во-первых, у Ленточной формы точно также не работает Автовысота, как и у отчёта, а в этом и была задача: он также выводит окно размером почти с весь экран даже если там всего одна строка с данными...
А во-вторых, в Формах не работает Расширение/Сжатие полей...
0
Эксперт MS Access
 Аватар для Eugene-LS
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
24.11.2017, 10:02
Цитата Сообщение от Rikozenit Посмотреть сообщение
А во-вторых, в Формах не работает Расширение/Сжатие полей...
Ой извините!
Про необходимость Расширения -Сжатия полей упомянуто не было.

Тогда отчёт

Узнать его высоту можно по Me.Height , а дальше играйте с его окном ...
0
 Аватар для Rikozenit
3 / 3 / 0
Регистрация: 03.08.2015
Сообщений: 156
27.11.2017, 13:24  [ТС]
Eugene-LS, к сожалению, не понимаю каким образом это сделать..
0
Эксперт MS Access
 Аватар для Eugene-LS
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
27.11.2017, 13:36
Цитата Сообщение от Rikozenit Посмотреть сообщение
к сожалению, не понимаю каким образом это сделать..
Сделать что?
Высота в твипах
Берёте из Me.Height на событии Format.
Дальше строите окно как надо - примеров в сети навалом.
Ну начните уже сами пожалуйста.
0
 Аватар для Rikozenit
3 / 3 / 0
Регистрация: 03.08.2015
Сообщений: 156
27.11.2017, 14:39  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Ну начните уже сами пожалуйста.
Я как бы для этого тему на форуме и создал, чтобы подсказали как сделать или ткнули в похожую тему.
В итоге получил 6 ответов, которые вели не в ту сторону, а когда попросил вернуться к тому, с чего начал, получил ответ - ответ делай сам.
Ну что ж, благодарствую!
0
Эксперт MS Access
 Аватар для Eugene-LS
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
27.11.2017, 14:53
Цитата Сообщение от Rikozenit Посмотреть сообщение
чтобы подсказали как сделать или ткнули в похожую тему.
На моей памяти (20 лет) это первая подобная задачка.
Куда смотреть - я написал в посте выше.
И кажется мне сильно, что вам придётся "Изобретать свой велосипед"

Добавлено через 7 минут
Rikozenit, Подсказка: с отчетами так обычно не работают = ищите в сети по формам.
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
27.11.2017, 15:15
Цитата Сообщение от Rikozenit Посмотреть сообщение
как настроить высоту Отчёта в режиме "Всплывающее окно", чтобы она соответствовала количеству строк в этом отчёте и не оставалось лишней пустоты?
Через Параметры страницы.
0
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
27.11.2017, 15:59
Вариант с открытием отчета в невидимом режиме, считыванием высот его секций и повторным открытием с высотой, равной сумме высот всех секций
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub reportHeight(repName, reg)
'Параметр reg задает режим открытия отчета. Например, acViewReport, acViewPreview
'но в режиме acViewPreview не удается правильно отобразить отчет.
'В общем нормально работает только в режиме acViewReport (Access 2007 и выше)
    Dim d, i, w
    DoCmd.OpenReport repName, reg, , , acHidden
    w = Reports(repName).Width
    On Error Resume Next
    For i = 0 To 12
        d = d + Reports(repName).Section(i).Height
    Next
    Err.Clear
    On Error GoTo 0
    DoCmd.Close reg, Reports(repName).Name
    DoCmd.OpenReport repName, acViewReport '
    With Reports(repName)
        DoCmd.MoveSize .WindowLeft, .WindowTop, w, d + 1500
    End With
End Sub
Вызов
Visual Basic
1
reportHeight "ИмяОтчета"
Добавлено через 18 минут
Visual Basic
1
reportHeight "ИмяОтчета", acViewReport
Добавлено через 11 минут
Нет, увы неправильно работает...
1
Эксперт MS Access
 Аватар для Eugene-LS
12066 / 5849 / 1494
Регистрация: 05.10.2016
Сообщений: 16,440
27.11.2017, 16:22
Цитата Сообщение от mobile Посмотреть сообщение
Нет, увы неправильно работает...
Вообще, правильней было бы с формой (PopUp Property = On) .... но ТС подсуммы хочет ...
И мне в голову ничего - пробовал с пяток вариантов = лажа.

Добавлено через 5 минут
А если ...
С формой - в которую вложен отчёт?
Так я ещё не пробовал ...
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
28.11.2017, 13:36
Цитата Сообщение от mobile Посмотреть сообщение
Вариант с открытием отчета в невидимом режиме,
считыванием высот его секций и повторным открытием с высотой,
равной сумме высот всех секций
Мне кажется, этого недостаточно.
Нужно, помимо суммы высот всех секций, знать, сколько групп в каждом уровне группировки,
если таковые имеются, а также, сколько записей выводится в области данных.

Вот мой вариант.
Рассмотрен случай с одним уровнем группировки, имеющем заголовок и примечание.
Но их может быть любое допустимое спецификациями количество.
Все работает.
Нижняя граница отчета - сразу под последней записью (для любого числа записей, умещающегося на странице).

В стандартном модуле:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Option Compare Database
Option Explicit
 
Public RH As Long
 
Function RepHeightFit(rptName As String)
 DoCmd.OpenReport rptName, acViewPreview
 With DoCmd
  .SelectObject acReport, rptName
  .MoveSize 0, 0, , RH + 2400
 End With
End Function
В модуле отчета:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Compare Database
Option Explicit
 
Private Sub Report_Open(Cancel As Integer)
 RH = 0
End Sub
 
Private Sub ЗаголовокГруппы0_Format(Cancel As Integer, FormatCount As Integer)
 RH = RH + ЗаголовокГруппы0.Height
End Sub
 
Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)
 RH = RH + ОбластьДанных.Height
End Sub
 
Private Sub ПримечаниеГруппы1_Format(Cancel As Integer, FormatCount As Integer)
 RH = RH + ПримечаниеГруппы1.Height
End Sub
Вызов из окна Immediate (для проверки):
Visual Basic
1
Call RepHeightFit("ИмяОтчета")
Еще надо бы проверить с расширяющимися/сжимающимися полями/областями.
Но идея в целом мне кажется хорошей. Простой и элегантной.)))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.11.2017, 13:36
Помогаю со студенческими работами здесь

Автоматическая высота блока
В общем нужно сделать так, чтобы блок с информацией о пользователе растягивался вместе с высотой сообщения (см. рис. 1 и рис. 2).

Автоматическая высота таблицы
Есть страница, она имеет вех и низ, а между ними таблица. Как сделать ширину по окну, я знаю: <table border=1 width=100%> ...

Автоматическая высота grid
Всем привет! Есть такой код: .bl { display: grid; grid-gap: 5px; grid-template-columns: repeat(auto-fit,...

Автоматическая высота картинки
Добрый день! Сайт - armymusic.ru, для примера страница - https://armymusic.ru/R/51-rostov.html Фото исполнителя (маленькое, слева)...

ExcelJS автоматическая высота строки
Здравствуйте. Подскажите, пожалуйста, как сделать высоту строки по высоте контента. Я сделал столбцы с фиксированной шириной, а высоту...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru