Установить формат поля в запросе для отчета - PullRequest
0 голосов
/ 30 августа 2018

Есть ли способ для поля отчета учитывать формат поля в запросе?

Например:

У меня есть поле StudentPercent в запросе. Значения поля находятся в диапазоне от 0 до 1, но поскольку они отформатированы в процентах, они отображаются в диапазоне от 0% до 100%. Когда я запускаю отчет, он не учитывает формат поля, а значения находятся в диапазоне от 0 до 1. Почему это так?

Редактировать 1: я использую Microsoft Access 2016. Кроме того, данные заполняются динамически, поэтому я не могу просто установить формат полей вручную.

Редактировать 2:

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
'Exit Sub
'  Place values in text boxes and hide unused text boxes.

    Dim intX As Integer
    '  Verify that not at end of recordset.
    If Not rstReport.EOF Then
        '  If FormatCount is 1, place values from recordset into text boxes
        '  in detail section.
        If Me.FormatCount = 1 Then
            Me("Col" + Format(intColumnCount + 1)) = 0
            For intX = 1 To intColumnCount
                '  Convert Null values to 0.
                Me("Col" + Format(intX)) = Nz(rstReport(intX - 1))
                If intX < intColumnCount Then
                    Me("Col" + Format(intColumnCount + 1)) = _
                    Me("Col" + Format(intColumnCount + 1)) + Nz(rstReport(intX))
                End If
            Next intX

            '  Hide unused text boxes in detail section.
            'For intX = intColumnCount + 2 To conTotalColumns
                'Me("Col" + Format(intX)).Visible = False
            'Next intX
        For intX = 2 To intColumnCount + 1
            Me("Tot" + Format(intX)) = Nz(Me("Tot" + Format(intX))) + Nz(Me("Col" + Format(intX)))
        Next intX

            '  Move to next record in recordset.

            rstReport.MoveNext
        End If
    End If
End Sub

^ - это код подробной части моего отчета. Я получаю сообщение об ошибке «13» - несоответствие типов при запуске отчета после приведения моего поля в поле Format (FieldName, «Percent») и подсвечивается следующий код:

                Me("Col" + Format(intColumnCount + 1)) = _
                Me("Col" + Format(intColumnCount + 1)) + Nz(rstReport(intX))

1 Ответ

0 голосов
/ 30 августа 2018

Установите для свойства Формат текстового поля в отчете значение: Процент

Или разверните исходный запрос, чтобы иметь поле, возвращающее отформатированное значение в виде текста:

StudentPercentText: Format([StudentPercent],"Percent") 

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...