- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安网站维护基地 来源:黑客防线网安 浏览次数:0 |
您可以为数据库中的每个报表设置页面设置选项,但系统并不会为数据库的每个用户存储该设置。换句话说,如果您更改了“发票”报表的打印设置,则此更改将覆盖前一个用户所做的改变。
通过编写代码,可以使用户在运行时指定自定义设置,而不用修改报表的默认打印机或页面设置选项。您还需要为用户提供一个对话框或窗体,以便用户在其中指定所需的设置。
下图所示为“打印机设置”窗体,允许用户自定义打印设置、预览报表或打印报表。
选择要预览或打印的报表。
选择用来打印选定报表的打印机。
指定纸张大小和方向。
单击以预览该报表。
单击以将最新的打印设置应用到“预览”窗口中打开的报表上。
单击以打印该报表。
Open 事件子过程示例
Private Sub Form_Open(Cancel As Integer) ' 包含默认打印机索引的变量。 Dim strDefaultPrinter As String ' 包含打印机对象的变量。 Dim prt As Printer ' 在 AllReports 集合中遍历时 ' 包含报表对象的变量。 Dim accObj As AccessObject ' 填写打印机列表。 ' 确保 RowSource 为空。 Me!cmbPrinter.RowSource = "" Me!lbxSelectReport.RowSource = "" ' 遍历计算机上已安装的打印机,并将它们添加到组合框中。 For Each prt In Application.Printers ' 使用新的 AddItem 方法将打印机名称添加到组合框中。 Me!cmbPrinter.AddItem prt.DeviceName Next ' 记忆默认打印机。 strDefaultPrinter = Application.Printer.DeviceName ' 将组合框设置为默认打印机。 Me!cmbPrinter = strDefaultPrinter Me!cmbPaperSize = 1 ' 填写报表列表。 For Each accObj In CurrentProject.AllReports Me!lbxSelectReport.AddItem accObj.Name Next ' 将列表框设置为第一个报表。 Me!lbxSelectReport.SetFocus Me!lbxSelectReport.ListIndex = 0 End Sub
“预览报表”命令按钮的 OnClick 事件过程示例
Private Sub cmdPreview_Click() ' 包含要操纵的打印机对象的变量。 Dim prt As Printer ' 为选定的打印机选取打印机对象。 Set prt = Application.Printers(Me!cmbPrinter.Value) ' 读取用户指定的设置。 prt.PaperSize = Me!cmbPaperSize prt.Orientation = Me!opgOrientation ' 以预览模式打开报表。 DoCmd.OpenReport Me!lbxSelectReport, acViewPreview ' 将报表的打印机设置为已修改的打印机对象。 Reports(Me!lbxSelectReport).Printer = prt End Sub
“应用更改”命令按钮的 OnClick 事件过程示例
Private Sub cmdApplyChanges_Click() If CurrentProject.AllReports(Me!lbxSelectReport).IsLoaded Then With Reports(Me!lbxSelectReport).Printer .PaperSize = Me!cmbPaperSize .Orientation = Me!opgOrientation End With Else MsgBox "请先预览报表。" End If End Sub
“打印报表”命令按钮的 OnClick 事件过程示例
Private Sub cmdPrint_Click() ' 检查报表是否已打开。 If CurrentProject.AllReports(Me!lbxSelectReport).IsLoaded Then ' 打印报表(如果已打开)。 DoCmd.OpenReport Me!lbxSelectReport, acViewNormal Else ' 使用自定义设置来设置应用程序打印机。 Application.Printer = Application.Printers(Me!cmbPrinter.Value) Application.Printer.PaperSize = Me!cmbPaperSize Application.Printer.Orientation = Me!opgOrientation ' 使用新的应用程序级别打印机设置来打开和打印报表。 DoCmd.OpenReport Me!lbxSelectReport, acViewNormal ' 将应用程序打印机重置为默认设置。 Set Application.Printer = Nothing End If End Sub
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |