• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 英语学习 > 正文

    【如何随心所欲地输出报表中的字段】要实现报表按某字段分组统计输出

    时间:2019-01-11 03:29:57 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘 要: 报表的主要作用是打印输出格式化的数据信息。本文从实用的角度出发,给出了随心所欲输出任意表中的任意多个字段的方法,使得数据最终显示清晰明了。   关键字: 权限 报表 字段 输出
      
      当今社会的数据处理与日俱增,如何能从庞大的数据中找出符合条件的数据信息,并且将它们快速清晰地输出,就显得尤为重要。Access数据库简单易用,但报表在输出数据时往往需要事先设置好报表所要绑定的表和表中的相关字段。这样一来,如果要更换表或表中的字段,就得重新修改报表,显得较为麻烦。为此,可以做一个窗体,表和字段的选择全在窗体中进行(如图1),最后只需单击“输出报表”按钮即可输出报表,达到一劳永逸随心所欲输出任意表中任意多个字段的报表的目的。
      一、获取表
      在Access数据库系统中,用户创建的对象的相关信息存储在系统表MSysObjects中,可通过查询它来获取我们想要的表。
      (1)设置对系统表MSysObjects的访问权限。
      默认情况下,是无法直接访问系统表MSysObjects的,需要手工设置一下:
      首先单击Access数据库“工具”菜单中的“选项”命令,在“视图”页上将“系统对象”选中,单击“确定”按钮保存设置。
      然后单击“工具”菜单中“安全”菜单中的“用户与组权限”命令,在“权限”页面中,在“对象类型”下拉列表中选择“表”,在“用户名/组名”中选择“管理员”用户,在“对象名称”中选择“MSysObjects”表,在“权限”中将“读取数据”选中,单击“确定”按钮保存设置即可完成。
      通过上面两步设置后,就可以看见并对系统表MSysObjects进行访问了。
      (2)建立查询,获取表。
      在系统表MSysObjects中,Name字段值表示数据对象的名称;Type字段值表示数据库对象的类型:1表示表,3表示系统对象,5表示查询,-32761表示模块,-32764表示报表,-32766表示宏,-32768表示窗体,-32756则表示数据访问页;Flags字段中值为0的表示用户创建的对象。为此获得数据库表的名称的查询应为:
      SELECT MSysObjects.Name
      FROM MSysObjects
      WHERE((MSysObjects.Type=1)AND(MSysObjects.Flags=0))
      在图1所示的窗体中,通过组合框(名称为zhk)来列出数据库系统中所有的表(不包括系统表),所以该组合框的“行来源”即为上面的查询语句。
      二、列出表中的字段
      当在组合框中选择了表后,列表框(名称为lbk)应自动列出相应表所包含的所有字段,所以还需对组合框的“更新事件”进行相应的如下设置:
      Private Sub zhk_AfterUpdate()
      Dim dbs As DAO.Database,tdf As DAO.TableDef
      Dim fld As DAO.Field,rst As DAO.Recordset
      Dim tbl As String
      tbl=Forms!frmtest!zhk
      Set dbs=CurrentDb
      Set tdf=dbs.TableDefs(tbl)
      DoCmd.SetWarnings False
      DoCmd.RunSQL("Delete*from TableFields")
      DoCmd.SetWarnings True
      Set rst=dbs.OpenRecordset("TableFields",dbOpenDynaset)
      For Each fld In tdf.Fields
      If fld.Type>=1 And fld.Type 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

    推荐访问:字段 随心所欲 报表 输出

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章