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

云台山导览

云台山导览

2016-02-19 15:47

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

  添加日志宏到你的表单中

  这是你要对你的数据库添加对象日志记录所需要做的所有事情。以设计模式打开你的表单,如图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。

  在模块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用户帐户。这个代码在下载的数据库中。

  TempVars与全局VBA变量相比较

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

  使用TempVars的查询

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

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

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

 

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

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

  

图9

展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
关注于使用常用对象来加快Access 2007数据库下

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

编程语言 网络编程
关注于使用常用对象来加快Access 2007数据库上

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Oracle数据库数据对象分析(下)

编程语言 网络编程
Oracle数据库数据对象分析(下)

access数据库安全

编程语言 网络编程
access数据库安全

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

修复Access数据库

编程语言 网络编程
修复Access数据库

通过查询返回access数据库对象的名称

编程语言 网络编程
通过查询返回access数据库对象的名称

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win8.1系统画图工具功能大盘点

Win8.1系统画图工具功能大盘点

在Access报表中每隔N行显示一条粗线

在Access报表中每隔N行显示一条粗线
下拉加载更多内容 ↓