"通用打印机设置"中的一段 代码, 用于保存设计的报表格式.
Private Sub cmdApplyChanges_Click()
If Nz(Me!txtObjectName) <> "" Then
If CurrentProject.AllReports(Me!txtObjectName).IsLoaded Then
Else
DoCmd.OpenReport Me!txtObjectName, acViewDesign, , , acHidden
End If
Dim prt As Printer
Reports(Me!txtObjectName).Printer = Application.Printers(Me!cmbPrinter.Value)
Set prt = Reports(Me!txtObjectName).Printer
With prt
.PaperSize = Me!cmbPaperSize
.Orientation = Me!opgOrientation
.BottomMargin = Val(Nz(Me.txtBottom, 0)) * 56.7
.TopMargin = Val(Nz(Me.txtTop, 0)) * 56.7
.LeftMargin = Val(Nz(Me.txtLeft, 0)) * 56.7
.RightMargin = Val(Nz(Me.txtRight, 0)) * 56.7
End With
DoCmd.Save acReport, Me!txtObjectName ' 要添加这句才能保存.
DoCmd.Close acReport, Me!txtObjectName, acSaveNo
End If
End Sub
' 当报表中含有代码时这段代码保存不了该报表的设计格式. 测试了很多遍..
本人只是探究一下到底是什么原因不能保存,结果发现与报表中内含代码有关.
网上有把报表的格式用数据表保存下来的方法挺好的 ,调用时直接从表中提取数据,预览打印即可.