关注于使用常用对象来加快Access 2007数据库下

2016-02-19 15:47 7 1 收藏

图老师小编精心整理的关注于使用常用对象来加快Access 2007数据库下希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - 编程语言 】

  添加日志宏到你的表单中

  这是你要对你的数据库添加对象日志记录所需要做的所有事情。以设计模式打开你的表单,如图5中所做的。并打开设计条栏上的属性面板,选择On Close事件。从列表中选择“mcrLogUsage.LogForm”。注意,在代码中使用的是Close事件,因为它在这个日志记录代码中要比On Open事件更好。这些是所要做的所有步骤,下一次当你的用户打开这个表单(之后关闭)时,就会在日志中添加一条记录。

  图5 –怎样在你的表单和报表中建立日志宏

  

  当你遵循下面的建立指导,那么每次有人打开这个表单时都会有一个日志记录(如图6所示)。

  图6 -保存到UserObjects日志表中的数据

 

添加日志宏到你的报表中

  要创建报表的一个日志入口,所要做的和为表单所做的一样。在设计视图中打开报表,显示属性面板,找到Close Event,这一次选择mcrLogUsage.LogReport。

  找出某对象被使用了多少次

  要找出一个对象被使用了多少次,建立一个具有以下SQL语句的查询。

  SELECT ObjectName, ObjectType, Count(OpenTime) AS NoTimes

  FROM UserObjectLogs

  GROUP BY ObjectName, ObjectType;

  如果你运行它,你将得到如下面图7所示的结果。

  

图7 你的对象使用总计

  软件安装总结

  这是你找出你最常用的表单和报表所需要的所有东西。然后如果你需要加快一些表单和报表,那么集中于那些最常被使用的。记住,子表单和子报表不会包含进这个日志中

  技术(和兴趣)细节

  对Access 2007的许多改进都是旨在制作很好的、可下载的模板(如图1中所示)。因此在宏方面有许多创新来创建可以自由传送VBA代码的数据库模板。使其发生的最重要的一个改变是一个叫做TempVar的新对象。让我们看看在这个数据库中怎样使用TempVar。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  在模块logObjects_FXL12中,你将看到提取所关注的最后一个表单或报表并找出用户Windows帐户的代码。然后这些结果将放到3个不同的TempVar中。然后会打开一个使用这些TempVars的查询来插入一个新记录到我们的用户日志表中。

   OptionCompareDatabase
  OptionExplicit
  PublicFunctionLogFormUsage()
  OnErrorResumeNext
  TempVars.Add"ObjectName",Screen.ActiveForm.Name
  TempVars.Add"ObjectType","3"
  CallLogUsage
  ExitFunction
  EndFunction
  PublicFunctionLogReportUsage()
  OnErrorResumeNext
  TempVars.Add"ObjectName",Screen.ActiveReport.Name
  TempVars.Add"ObjectType","4"
  CallLogUsage
  ExitFunction
  EndFunction
  PublicSubLogUsage()
  OnErrorResumeNext
  TempVars.Add"WindowsAccount",User_FX
  DoCmd.SetWarningsFalse
  DoCmd.OpenQuery"qryUpdateLogs"
  DoCmd.SetWarningsTrue
  ExitSub
  EndSub

  注意:如果你仔细地看了这个代码,你会看到一个叫做User_FX的函数,它提取Windows用户帐户。这个代码在下载的数据库中。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  TempVars与全局VBA变量相比较

  TempVars在查询和表单控制和宏以及VBA间转移值方面是很方便的。在2007年之前,你只能使用全局变量来做到这些,而且它还只能用于VBA代码。全局变量的问题,是如果VBA代码失败了,那么你将丢失全局变量中的信息。而TempVars比它强大得多。

  使用TempVars的查询

  在这个数据库中你将发现添加了叫做qryUpdateLogs的查询。它从TempVars获得它的值,如图8所示。TempVars 真的是一个不用使用docmd.RunSQL或CurrentDB.Execute就将复杂的东西放到一个查询中的简单方法

  图8-这显示了TempVars怎样在对象间移动信息

 

  最后,如果你看看图9,你将看到我所建立的两个添加到你表格和报表Close events中的宏。你将看到这些宏存储在一个宏容器中,而且你还将注意到在顶端有两行宏逻辑,用来阻止任何人让宏自己运行,因为在这种情况下这个代码会失败。

  

图9

来源:https://www.tulaoshi.com/n/20160219/1610420.html

延伸阅读
标签: ASP
  HOWTO: Compacting Microsoft Access Database via ADO -------------------------------------------------------------------------------- The information in this article applies to: ActiveX Data Objects (ADO), versions 2.1, 2.5, 2.6 Microsoft OLE DB Provider for Jet, version 4.0 --------------------------------...
在当前数据库领域,已有越来越多的人开始采用Access。它是一个功能强大的数据库管理系统和MIS系统开发工具,具有界面友好、易学易用、开发简单、接口灵活等特点。现将本人在使用Access时体会到的一些经验在此与大家交流。 数据库设计的技巧 1. 统一规划 所谓数据库设计是指从对现行非计算机管理的数据库系统的分析到最...
前题是必须安装好activeperl (505以上),以及MS Access 97 一. 安装Win32-ODBC模块 步骤1: 从TOOLS栏目中下载Win32-ODBC.zip,下载完后用winzip解开到一个temp目录,共有三个文件: Readme Win32-ODBC.ppd Win32-ODBC.tar.gz 步骤2: 在DOS窗口下,temp目录中运行下面的DOS命令: ppm install Win32-ODBC.ppd 二. 准备测...
第一种:使用JDBC的ACCESS驱动程序:在http://industry.java.sun.com/products/jdbc/drivers下载ACCESS的JDBC驱动程序。 第二种:使用JDBC-ODBC桥访问: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection("jdbc:odbc:dbaccess"); 第三种:直接访问ACCESS数据库,不使用JDBC-ODBC桥: Class.forNam...
这是我前段时间学数据库时做的一个小程序,采用DAO访问ACCESS数据库,程序的主界面如下,控制相对来说很是简单,实现了数据库的基本操作。如图一所示: 几点说明: 在程序中使用了CButtonStyle这个免费类库,它可以实现带位图的按位,这里是以加载图标的方式操作的,在InitButtonSytle()中,为了使代码更短小,用循环实现了图...

经验教程

877

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部