报表的字段是否有办法考虑查询中字段的格式?
例如:
我在查询中有一个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))
将报表中文本框的Format属性设置为:Percent
或者,展开源查询以使字段将格式化的值作为文本返回:
StudentPercentText: Format([StudentPercent],"Percent")
然后在报表中使用此字段,而不是StudentPercent字段。但是,这是文本,因此您无法在报表中的计算中使用此类字段。