Доступ к отчетам - скрытие полей, меток и других элементов на основе данных - PullRequest
2 голосов
/ 20 августа 2009

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

Я пытался создать поле, которое меняет значение в зависимости от того, установлено ли значение флажка «Да / Нет» в базовом запросе «Истина» или «Ложь». Однако я не могу заставить работать какие-либо стандартные изменения свойств в отчете - он не выдает ошибку, он просто ничего не делает. Я попытался вставить свой код в событие On Format, а также в событие On Load в соответствующей форме - но код просто не запустится.

Разве эти виды манипуляций со свойствами, основанные на значениях базовых полей запроса, не работают в отчетах, как в формах?

Ответы [ 4 ]

4 голосов
/ 20 августа 2009

Создайте несвязанное текстовое поле, в свойстве Control Source укажите формулу примерно так:

=IIF([BooleanField],"Value if True","Value if false")
1 голос
/ 20 августа 2009

Я думаю, что было бы лучше назначить значение (я) в запросе, а не в отчете.

Небольшой пример кода:

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
If Me.YN Then
    ''Label in the detail section
    Me.Label_YN.Visible = False
    ''Unbound field
    Me.txtField1 = "abc"
Else
    Me.Label_YN.Visible = True
    Me.txtField1 = "def"
End If
End Sub
0 голосов
/ 20 августа 2009

Это выходит за рамки вашего конкретного вопроса, но может быть полезным альтернативным подходом с точки зрения дизайна отчета.

Возможно, вы захотите поместить «внутренние» данные в отдельный подотчет, который связан с основным отчетом (скажем, по основному номеру рабочего задания). Данные для подотчета поступают из новой таблицы, которая содержит внутренние данные, включая номер основного рабочего задания). Затем вы подключаете данные основной таблицы к новой таблице с номером основного рабочего заказа.

Если в основном отчете нет ссылки на подотчет, не должно быть отображаемых данных (не требуется никакого кода). При необходимости вы можете установить для детализации основного отчета и свойств подотчета «можно уменьшить» значение «да», если хотите закрыть пустое пространство для пустого подотчета.

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

0 голосов
/ 20 августа 2009

При формировании отчета вы, вероятно, захотите поместить свой код в событие onPrint. Он срабатывает, когда «печатается» на экране.

...