跳过Autoexec宏(自动执行宏)
发布日期:2002年11月13日
摘 要:如果没有设置AllowBypassKey属性,那么通过编程方式在启动数据库时按住Shift键来自动避开数据库启动的自动代码。通过引用隐藏的access数据库实例来避开数据库的自动宏,你可以使用下面的函数fGetRefNoAutoexec。
正 文:
首先,祝贺 Dev Ashish于2002.11.11成功改版The access Web,使越来越多的access爱好者获得更大的帮助,在此,表示感谢。
常常,使用Autoexec宏来自动操作一个或多个ACCESS数据库,特别是如果开发者试图获Access对象模型(Access Object Model),胜过使用Jet引擎(能通过DAO和ADO来获取的)。不管怎样,access不提供任何内置的方法来有条件避开这个Autoexec宏。如果数据库包括了这个宏,一打开就会运行。当未设置数据库的AllowBypassKey属性时,可以在启动数据库时按住Shift键来避开运行这个宏。
如果没有设置AllowBypassKey属性,那么通过编程方式在启动数据库时按住Shift键来自动避开数据库启动的自动代码。通过引用隐藏的access数据库实例来避开数据库的自动宏,你可以使用下面的函数fGetRefNoAutoexec。
'********* Code Start *********** ' This code was originally written by Dev Ashish. ' It is not to be altered or distributed, ' except as part of an application. ' You are free to use it in any application, ' provided the copyright notice is left unchanged. ' ' Code Courtesy of ' Dev Ashish
Private Declare Function GetWindowThreadProcessId _ Private Declare Function AttachThreadInput _ Private Declare Function SetForegroundWindow _ Private Declare Function SetFocusAPI _ Private Const VK_SHIFT = &H10 Function fGetRefNoAutoexec( _ If (Len(Dir$(strMDBPath, vbNormal)) = 0) Then Set objAcc = New access.Application ' attach to process Exit Function |
翻译: 朱亦文
来 源 于:MVPS: The access Web
(责任编辑:admin)