Access编程交流网
  • 设为首页|收藏本站|繁体中文|手机版
  •     
  • Access培训-Access开发平台-Access行业开发

  • 首页
  • 资讯
  • 技巧
  • 源码
  • 行业
  • 资源
  • 活动
  • 关于

技巧

ACCESS数据库

启动/设置/选项/背景

修复/压缩

安全/加密/解密

快捷键

版本升级/其它等

数据表

命名方式/设计规范

表设计

查询

Sql语言基础

选择查询

更新查询

删除查询

追加查询

生成表查询

交叉表查询

SQL特定查询

查询参数

查询综合应用

界面/窗体/控件

标签

文本框

命令按钮

组合框/列表框

选项组/复选框/选项按钮

选项卡

子窗体

窗体本身/综合应用

其它

报表打印

报表设计

高级报表

模块/函数/VBA/API/系统

VBA基础

内置函数

调试/跟踪/Debug

模块/类模块

API/COM/系统相关

字符数字日期

网络通信游戏

加密解密安全

文件处理

经典算法

宏/菜单/工具栏/功能区

宏/脚本

菜单/工具栏

功能区/Ribbon

图表/图形/图像/多媒体

图表

图形/图像

音频

视频/动画

DAO/链接表/ADO/ADP

DAO/链接表/ODBC

ADO/RDO

ADP

ActiveX/第三方控件/插件

Treeview树控件

ListView列表控件

Toolbar工具栏控件

微软其它控件

Dbi-Tech

CodeJock

Grid++Report

FastReport

ComponentOne

加载项/插件/Addin

OFFICE集成/导入导出/交互

Excel导入导出/交互

Word导入导出/交互

PPT交互

Outlook控制/邮件

Text文本文件/INI/CSV

PDF/SWF/XML格式

CAD格式

Sharepoint/其它Office

SqlServer/其它数据库

表

视图

存储过程/触发器

函数

用户/权限/安全

调试/维护

SqlServer其它/综合

发布/打包/文档/帮助

开发版/运行时

打包/发布/部署

开发文档/帮助制作

Access完整行业系统

采购管理系统

销售管理系统

仓库管理系统

人力资源管理HRM

CRM管理系统

MRP/ERP管理系统

BRP/流程优化

其它管理系统

心得/经验/绝招
其它/杂项
Excel技巧

Excel应用与操作

Excel开发编程

Word技巧

Word应用与操作

Word开发编程

Outlook技巧

Outlook应用与操作

Outlook开发编程

热门文章

  • 报表每页打印到一定行数自动..
  • Access报表补空行代码
  • Access报表打印设置
  • Access使用excel..
  • 懒人有懒计——浅谈自动报表
  • Access报表文本框按字..

最新文章

  • Access报表文本框按字..
  • Access报表打印设置
  • Access报表补空行代码
  • 懒人有懒计——浅谈自动报表
  • Access使用excel..
  • 报表每页打印到一定行数自动..

联系方式

Access交流网(免费Access交流)

QQ:18449932 

网  址:www.access-cn.com

当前位置:首页 > 技巧 > 报表打印 > 高级报表
高级报表

Access报表打印设置


1. 本示例程序演示了为报表设置打印参数。
2. 你可以用本示例为报表设置页面的页边距、纸张大小(包含自定义纸张)、页面方向等,还可以选择打印机,设置打印色彩模式、列布局、打印质量、打印份数以及打印范围等。
3. 本示例中所有的报表来自罗斯文数据库,你在使用时只需将本示例中的frmPrinter窗体和modPrinters模块导入到你的数据库文件即可。
4. 本示例部分代码来自网上。示例中的代码大多做了详细的注释,也有许多的垃圾代码没有删除,希望没有误导你。
5. 有些功能的实现是依据不同的打印机的,网上是这么说的,比如打印质量,有些打印机就不听你的,任你怎么设置都不为所动。
6. 因为本人的条件所限,并没有对示例中的所有功能进行测试,有条件的朋友可以试试,希望把你的测试结果共享。


access数据库



部分源代码:

Option Compare Database

Option Explicit


Public Const strProTitle As String = "kangking 做的示例程序"


' 声明返回设置功能的 API 函数 DeviceCapabilities 。

Public Declare Function DeviceCapabilities Lib "winspool.drv" _

                                           Alias "DeviceCapabilitiesA" (ByVal lpsDeviceName As String, _

                                                                        ByVal lpPort As String, ByVal iIndex As Long, lpOutput As Any, _

                                                                        ByVal lpDevMode As Long) As Long


' DeviceCapabilities API 函数常数。


Public Const DC_FIELDS = 1

Public Const DC_PAPERS = 2

Public Const DC_PAPERSIZE = 3

Public Const DC_MINEXTENT = 4

Public Const DC_MAXEXTENT = 5

Public Const DC_BINS = 6

Public Const DC_DUPLEX = 7

Public Const DC_SIZE = 8

Public Const DC_EXTRA = 9

Public Const DC_VERSION = 10

Public Const DC_DRIVER = 11

Public Const DC_BINNAMES = 12

Public Const DC_ENUMRESOLUTIONS = 13

Public Const DC_FILEDEPENDENCIES = 14

Public Const DC_TRUETYPE = 15

Public Const DC_PAPERNAMES = 16

Public Const DC_ORIENTATION = 17

Public Const DC_COPIES = 18

Public Const DEFAULT_VALUES = 0



Public Type POINTS

    x As Long

    y As Long

End Type


Type str_PRTMIP

    strRGB As String * 28

End Type


Type type_PRTMIP

    lngLeftMargin As Long   '左边距

    lngTopMargin As Long    '上边距

    lngRightMargin As Long  '右边距

    lngBotMargin As Long    '下边距

    lngDataOnly As Long     '仅数据

    lngWidth As Long        '主体高

    lngHeight As Long       '主体宽

    lngDefaultSize As Long  '默认尺寸

    lngColumns As Long      '列数

    lngColumnSpacing As Long    '列间距

    lngRowSpacing As Long       '行间距

    lngItemLayout As Long       '行列次序

    lngFastPrint As Long        '快速打印

    lngDatasheet As Long        '数据表

End Type


Type str_DEVMODE

    RGB As String * 94

End Type


Type type_DEVMODE

    strDeviceName As String * 32        '设备名称

    intSpecVersion As Integer           'DEVMODE 结构的版本号

    intDriverVersion As Integer         '打印机驱动程序的版本号

    intSize As Integer                  'DEVMODE 结构的字节大小

    intDriverExtra As Integer

    lngFields As Long

    intOrientation As Integer           '指定纸张的打印方向

    intPaperSize As Integer             '打印的纸张的大小

    intPaperLength As Integer           '以 1/10 毫米为单位来指定纸张的长度

    intPaperWidth As Integer            '以 1/10 毫米为单位来指定纸张宽度

    intScale As Integer                 '用于指定打印输出的缩放比例因子

    intCopies As Integer                '用于指定打印份数

    intDefaultSource As Integer         '用于指定默认送纸盒

    intPrintQuality As Integer          '用于指定打印机的分辨率。值可为 –4(高)、–3(中)、–2(低)和 –1(草稿)。

    intColor As Integer                 '用于指定彩色打印机的输出是否为彩色。值可为 1(彩色)和 2(单色)。

    intDuplex As Integer                '用于指定可双面打印的打印机是否在纸张上进行双面打印输出。值为 1(单面)、2(水平)和 3(垂直)。

    intResolution As Integer            '以点/英寸 (dpi) 为单位指定打印机 y 轴方向的分辨率

    intTTOption As Integer              '用于指定如何打印 TrueType 字体

    intCollate As Integer               '在打印多个副本时,用于指定是否归类打印

    strFormName As String * 32          '用于指定要使用的纸张大小

    lngPad As Long

    lngBits As Long

    lngPW As Long

    lngPH As Long

    lngDFI As Long

    lngDFr As Long

End Type




Sub ShowPrinters()

'本过程显示系统中打印机的信息。

'本过程是一个单独的过程,不为任何过程调用。


    Dim strCount As String

    Dim strMsg As String

    Dim prtLoop As Printer


    On Error GoTo ShowPrinters_Err


    If Printers.Count > 0 Then

        ' 得到已经安装的打印机数量

        strMsg = "已经安装的打印机数: " & Printers.Count & vbCrLf & vbCrLf


        ' 枚举打印机系统属性。

        For Each prtLoop In Application.Printers

            With prtLoop

                strMsg = strMsg _

                       & "设备名称: " & .DeviceName & vbCrLf _

                       & "驱动名称: " & .DriverName & vbCrLf _

                       & "端口名称: " & .Port & vbCrLf _

                       & "上边距:" & .TopMargin & vbCrLf _

                       & "下边距:" & .BottomMargin & vbCrLf _

                       & "左边距:" & .LeftMargin & vbCrLf _

                       & "右边距:" & .RightMargin & vbCrLf _

                       & "主体列数:" & .ItemsAcross & vbCrLf _

                       & "列问距:" & .ColumnSpacing & vbCrLf _

                       & "行间距:" & .RowSpacing & vbCrLf _

                       & "主体布局:" & .ItemLayout & vbCrLf _

                       & "主体高:" & .ItemSizeHeight & vbCrLf _

                       & "主体宽:" & .ItemSizeWidth & vbCrLf _

                       & "色彩模式:" & .ColorMode & vbCrLf _

                       & "打印份数:" & .Copies & vbCrLf _

                       & "双面打印方法:" & .Duplex & vbCrLf _

                       & "仅打印数据:" & .DataOnly & vbCrLf _

                       & "页面方向:" & .Orientation & vbCrLf _

                       & "进纸槽:" & .PaperBin & vbCrLf _

                       & "页面尺寸:" & .PaperSize & vbCrLf _

                       & "默认尺寸:" & .DefaultSize & vbCrLf _

                       & "打印质量:" & .PrintQuality & vbCrLf & vbCrLf


            End With

        Next prtLoop


    Else

        strMsg = "没有安装打印机。"

    End If


    ' 显示打印机信息。

    MsgBox prompt:=strMsg, buttons:=vbOKOnly, title:=strProTitle


ShowPrinters_End:

    Exit Sub


ShowPrinters_Err:

    MsgBox prompt:="错误代码 " & Err.Number & vbCrLf & _

                   "错误描述 " & Err.Description, buttons:=vbCritical + vbOKOnly, _

           title:=strProTitle

    Resume ShowPrinters_End


End Sub



发布人:achao  
分享到:
点击次数:  更新时间:2017-06-15 17:34:09  【打印此页】  【关闭】
上一条:代码修改完善方法示例(初学者必读)  下一条:周而复始 -- 获取每月各周日期范围示例



相关文章

  • • Access报表文本框按字数同步缩放
  • • Access报表补空行代码
  • • 懒人有懒计——浅谈自动报表
  • • Access使用excel输出复杂报表
  • • 报表每页打印到一定行数自动分页

热门文章

  • [2017-07-22] Access报表文本框按字数同步缩放access数据库
  • [2015-02-04] Access使用excel输出复杂报表access数据库
  • [2017-06-05] Access报表补空行代码access数据库
  • [2017-06-15] Access报表打印设置access数据库
  • [2017-05-25] 懒人有懒计——浅谈自动报表access数据库
  • [2015-01-27] 报表每页打印到一定行数自动分页access数据库

热门产品

公司动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图

中山市天鸣科技发展有限公司 版权所有 1999-2023 粤ICP备10043721号

QQ:18449932

Access应用 Access培训 Access开发 Access平台

access|数据库|access下载|access教程|access视频|access软件

Powered by MetInfo 5.3.12 ©2008-2025  www.metinfo.cn