更改Microsoft Access报告上所有控件的字体
问题描述:
我有一个非常复杂的Microsoft Access报告。此报告针对多个客户运行。我想更改特定客户的报表上控件的子集**(有吨)的字体,但不适用于其他客户。由于字体设置在控制级别,是否有可能以编程方式更改它?更改Microsoft Access报告上所有控件的字体
**选择子集的标准将基于当前的字体。例如,我想改变当前使用Arial的所有控件的字体。
答
如何:
Private Sub Report_Load()
If Me.OpenArgs = "1" Then
ChangeFont Me
End If
End Sub
Sub ChangeFont(rpt As Report)
Dim ctl As Control
For Each ctl In rpt.Controls
If ctl.ControlType = acSubform Then
ChangeFont ctl.Report
ElseIf ctl.ControlType = acTextBox Then
If ctl.FontName = "Calibri" Then
ctl.FontName = "Times"
End If
End If
Next
End Sub
答
你可以做类似如下:
DoCmd.OpenReport "MyReport", acViewDesign, , , acHidden
For Each ctl In Reports.Item("AmbulanceServices")
If ctl.FontName = "Arial" Then
ctl.FontName = "Tahoma"
ctl.FontSize = 10
End If
Next
DoCmd.Save acReport, "MyReport"
是否要更改字体运行时或在设计视图?要么够简单。 – Fionnuala 2012-03-30 19:40:28
@Remou,我想在运行时根据客户ID更改它的子集控件。 – 2012-03-30 19:42:45