Как я могу скрыть объект вложения (изображения) в отчете, если вложения отсутствуют? - PullRequest
1 голос
/ 30 апреля 2019

Я создаю отчет для базы данных MS Access.Отчет содержит подчиненную форму со списком информации об элементах, в том числе поле вложения, содержащее изображения.

Если вложение отсутствует, пространство строк все еще используется объектом, что приводит к большому количеству ненужного пустого пространства в отчете.

Мне нужно изменить размер объекта до 0x0, а также изменить размер раздела Подробности подотчета, если изображения нет.

  1. Я обнаружил, что могу использоватьследующая команда, чтобы определить, присутствует ли изображение, но не знает, в какое Событие поместить оператор или какой дополнительный синтаксис потребуется:

    Me.attachPhoto.AttachmentCount
    
  2. Я нашел следующий примеркод для изменения размера объекта вложения / изображения, который, я думаю, я мог бы изменить, чтобы начать работать, но не знаю, в какое событие поместить его:

    Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
        If IsNull(Me!Image20) Then
            Me!Image20.Visible = False
            Me!Image20.Height = 0
            Me!Image20.Width = 0
        ElseIf Not IsNull(Me!Image20) Then
            Me!Image20.Visible = True
            Me!Image20.Height = 2880
            Me!Image20.Width = 2880
        End If
    End Sub 
    
  3. Предполагая, что я могу выяснить, гдечтобы разместить код и заставить его работать, я все еще не знаю, как изменить размер раздела Подробности в подотчете.

1 Ответ

0 голосов
/ 01 мая 2019

Несколько вещей:

Во-первых, вам не нужен код для этого.

Проблема, конечно, в том, что управление изображением не имеет встроенного, может расти и можетнастройка сжатия.

Однако большинство элементов управления это делает, особенно вложенный отчет.

На самом деле я рекомендую следующий прием не только для изображений, но часто у вас есть «группа» изконтролирует сжатие, если у них нет значений.Проблема заключается в том, что система рендеринга отчетов может очень легко свернуть «один» блок, а несколько элементов в строке часто не могут этого сделать, потому что с несколькими элементами управления Access не может понять, как переместить несколько элементов управления вверх.

Хуже, элементы управления изображением не могут сжиматься.Но текстовые поля И ТАКЖЕ подотчеты сокращаются довольно приятно.

Учитывая вышеизложенное?

Переместите предлагаемые "предметы", группу или изображение в подотчет.

Попробуйте этот подход: он не требует кода.Это простой и быстрый метод перетаскивания.

Просто создайте новый пустой отчет.Основывайте отчет на той же таблице, что и существующий отчет.

Запустите построитель запросов для этого отчета - да, чтобы создать запрос.

Затем в построителе запросов сделайте следующее:

enter image description here

Теперь этот подотчет вернет ТОЛЬКО записи, если есть изображение.

Вырежьте элемент управления изображением из основного отчета (в режиме разработки),Вставьте его в этот отчет.Теперь у вас есть отчет только с контролем изображения.И ТОЛЬКО записи с изображением появятся (из-за вышеуказанного условия).

Теперь сохраните этот подотчет - ЗАКРЫТЬ его.

Теперь, когда ваш основной отчет в режиме разработки, просто перетащите +перетащите подотчет с панели навигации.

Результат будет выглядеть следующим образом:

enter image description here

Доступ должен (будет)установите основную дочернюю ссылку как PK по умолчанию (это нормально).(на всякий случай - проверьте дочерние настройки мастера ссылок)

Убедитесь, что подотчет по основному может увеличиваться / уменьшаться.Увеличьте его до ОДНОЙ линии, как указано выше.

Итак, несколько простых щелчков мышью, немного перетаскивания и отпускания, и вы отправитесь в гонку.что в основном отчете - вы хотите сохранить вместе для основного подробного раздела set = no.Вам также необходимо использовать предварительный просмотр печати - похоже, это не работает с представлением отчета.

...