在Access中使用系统表保存应用程序变量


在开发Access应用程序时,一般需要在窗体和模块中引用许多变量。为管理这些变量,当然可以在启动窗体中使用Microsoft Visual Basic for Application(VBA)来设置它们的值,然后再调用某个模块,由该模块初始化这些值。

    然而,在完成应用程序开发之后,使用这个方法的问题出现了:其他人可能需要在将来某个时候改变那些值,却不知道从何处开始。我建议在数据库中建立一个名为SystemTbl的表,然后用户可以访问这个表,并在恰当的时候修改数据。

    建立表和窗体

    将表创建好并将变量添加到表中的新记录之后,可以为用户创建一个只允许修改而不能添加或删除记录的窗体,表中应该只包含一条记录保存有关使用方法的信息。一旦保存完所有变量,可以在应用程序需要的时候使用VBA来检索那些变量值。

    例如,假设应用程序需要保存应用程序管理员的姓名和电话号码,正如你刚才所了解到的,这条信息要求容易修改,如果把它编写到窗体或模块的代码中没有什么意义。

    该表预定义了一条记录和两个字段(到目前为止):

    ● 表:SystemTbl

    ● 字段1:AdminName

    ● 字段2:AdminPhone

    当需要在窗体上向用户显示恰当的姓名和电话号码时,可以使用OnOpen或OnLoad事件填充窗体上的相应标签,在本例中,我们把标签命名为“PhoneLabel”和“NameLabel”。清单1.10 .A显示了这个示例函数的代码。

    在该示例函数中,我们以SnapShot-ForwardOnly方式打开记录集,以减少访问记录集时占用的资源;然后,我们将表中字段的值应用到Name和Phone标签的标题上。

    最后,关闭记录集。永远记住要关闭记录集,它会累积为不需要的资源,导致性能降低甚至更糟糕的问题。由于系统表中只有一条记录,检索过程极快。现在,你已经给一个有效的数据库应用程序添加了可扩展的解决办法。



本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3