Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 综合其它

远程关闭自定义access应用程序

时 间:2009-07-21 05:31:37
作 者:82077802   ID:4070  城市:杭州
摘 要:远程关闭自定义Access应用程序
正 文:

有时,您可能需要压缩或修复、 进行备份,或修改设计 Microsoft Access 数据库上执行维护任务。 这些操作的许多要求所有用户都退出数据库。 但是,强制用户退出 Microsoft Access 没有内置的方法。 并且不好只是将该用户断开网络解决方案。 这可以导致数据库损坏。
本文介绍可用于正常关闭前端的 Access 数据库应用程序的一个方法。 还可以用于许多这些概念压缩或修复数据库,创建备份副本,等。
Microsoft 提供仅,用于说明的编程示例不附带任何明示或默示的保证。 这包括,但不限于适销性或针对特定用途的适用性的默示保证。 本文假定您熟悉所演示的编程语言和用于创建和调试过程的该工具。 Microsoft 支持工程师可以帮助解释某个特定的过程的功能,但是它们不会修改这些示例以提供额外的功能或构建过程以满足您的特殊需求。
解决方案的工作原理
请按照下列适用的解决方案。 服务器上, 没有一个文件文件夹中。 此文件可以命名任何内容。 对于这的种解决方案使用一个名为 chkfile.ozx 的文件。 重命名或删除此文件时, 它可以通知前端 Access 应用程序必须关闭。
窗体构建用户启动前端数据库应用程序时打开的。 此窗体检查设置的时间间隔在服务器上文件存在。 它使用 TimerInterval 属性和 OnTimer 事件来执行此操作。
如果找到该文件任何操作。 如果找不到文件,在窗体将显示警告用户数据库将自动关闭在指定的时间内的另一个窗体。
注意 : 此解决方案不会使用 MsgBox 函数来警告用户。 MsgBox 函数将等待用户输入之前运行任何代码。 这将违背该解决方案的目的。
若要正常关闭客户端会话,此解决方案将重命名正被签的文件。 必须完成的全部完成后此解决方案将文件重命名回为原始名称。 这使知道它们可以再次启动前端数据库的用户。
此过程还可以自动完成通过来提供无人参与的操作在服务器上使用计划的服务 chkfile.ozx 在指定时间,重命名。
回到顶端
创建示例方案的步骤
要演示此解决方案的工作原理,您必须具有以下:
使用 C:\MyData 的路径在硬盘上的文件夹。
一个空文件。 此解决方案将检查存在此文件。
与后端数据库文件和链接到前端数据库中的表中的表的拆分数据库设计。 前端数据库将包含检查按设置时间间隔文件存在,然后将警告用户的代码。
创建示例应用程序文件夹
在驱动器 C 的根目录中创建文件夹并将其命名 MyData 。
创建空文本文件
MyData 文件夹中创建一个新的文本文件并将其命名 chkfile.txt 。
重命名文件,以使它有 ozx (chkfile.ozx) 的扩展。 当系统提示您确认您要更改文件扩展名。
创建后端数据库
在 C:\MyData 文件夹中创建一个新的数据库并将其命名 Northwind_Be.mdb 。
Northwind 示例数据库中的客户表导 Northwind_Be.mdb 数据库。 (默认,Northwind 位于 C:\Program Files \Microsoft Office\Office10\Samples)。
关闭数据库。
创建前端数据库
创建另一个新的数据库,并命名 Northwind_Fe.mdb 。
链接到新的 Northwind_Fe.mdb 数据库的 Customers 表从该 Northwind_Be.mdb
创建基于链接的 Customers 表的自动创建窗体,并将其保存为 frmCustomers 。 关闭此窗体。
使用代码来检查文件存在创建窗体
创建未绑定窗体,并将其保存与名称 frmAppShutDown 。 在生产数据库中此窗体通常始终会打开,但不是可见。 在本例中,它可以保留打开同往常一样。
将窗体的 TimerInterval 属性设置为 60000 毫秒中。 这相当于一分钟。 (对于您自己的解决方案您可以增加或者 decease 此时间间隔)。
在 Microsoft Office Access 2003 中,或在早期版本的 Access 中, frmAppShutDown 窗体的设计视图中单击 代码 视图 菜单上。 在 Microsoft Office Access 2007 frmAppShutDown 窗体的设计视图中单击 设计 选项卡,然后单击 工具 组中的 查看代码 。 键入或粘贴以下代码:
Option Explicit
Dim boolCountDown As Boolean
Dim intCountDownMinutes As Integer
Private Sub Form_Open(Cancel As Integer)
    ' Set Count Down variable to false
    ' on the initial opening of the form.
    boolCountDown = False
End Sub
Private Sub Form_Timer()
On Error GoTo Err_Form_Timer
    Dim strFileName As String
    strFileName = Dir("c:\MyData\chkfile.ozx")
    If boolCountDown = False Then
        ' Do nothing unless the check file is missing.
        If strFileName <> "chkfile.ozx" Then
            ' The check file is not found so
            ' set the count down variable to true and
            ' number of minutes until this session
            ' of Access will be shut down.
            boolCountDown = True
            intCountDownMinutes = 2
        End If
    Else
        ' Count down variable is true so warn
        ' the user that the application will be shut down
        ' in X number of minutes.  The number of minutes
        ' will be 1 less than the initial value of the
        ' intCountDownMinutes variable because the form timer
        ' event is set to fire every 60 seconds
        intCountDownMinutes = intCountDownMinutes - 1
        DoCmd.OpenForm "frmAppShutDownWarn"
        Forms!frmAppShutDownWarn!txtWarning = "This application will be shut down in approximately " & intCountDownMinutes & " minute(s).  Please save all work."
        If intCountDownMinutes < 1 Then
            ' Shut down Access if the countdown is zero,
            ' saving all work by default.
            Application.Quit acQuitSaveAll
        End If
    End If
Exit_Form_Timer:
    Exit Sub
Err_Form_Timer:
    Resume Next
End Sub
      
保存,然后关闭该窗体。
创建窗体将用于警告用户
注意 : 不实现使用 MsgBox 函数来警告用户。 MsgBox 函数将等待用户输入之前运行任何代码。 这将违背该解决方案的目的。

创建未绑定窗体,并命名 frmAppShutDownWarn 。 添加下面的文本框控件:
   Name: txtWarning
   Type: Textbox
      
保存并关闭该窗体。
创建一个宏 frmCustomer 窗体和 frmAppShutDown 窗体,在启动时将打开。 命名宏 autoexec 。
关闭并重新打开数据库。
chkfile.ozx 重 chkfile.old 。
回到顶端
解决方案资源管理事件的时间
注意 : 所有以下情况是近似的然后重命名 chkfile.ozx 后启动。

一分钟或更少: Northwind_FE.mdb 将请注意检查该文件是丢失。
两分钟: 在通知您数据库将在一分钟内关闭 Northwind_FE.mdb,打开一个窗体。
三分钟: Northwind_FE.mdb 将自动关闭,并保存所有工作。

Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助