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

避开Autoexec宏(自动执行宏)

时 间:2002-11-13 00:00:00
作 者:Dev Ashish   ID:-1  城市:
摘 要:    如果没有设置AllowBypassKey属性,那么通过编程方式在启动数据库时按住Shift键来自动避开数据库启动的自动代码。通过引用隐藏的ACCESS数据库实例来避开数据库的自动宏,你可以使用下面的函数fGetRefNoAutoexec。

正 文:

作    者:Dev Ashish  
发布日期: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 SetKeyboardState _
    Lib "user32" _
    (lppbKeyState As Any) _
    As Long
    
Private Declare Function GetKeyboardState _
    Lib "user32" (pbKeyState As Any) _
    As Long

Private Declare Function GetWindowThreadProcessId _
    Lib "user32" _
    (ByVal hWnd As Long, _
    lpdwProcessId As Long) _
    As Long

Private Declare Function AttachThreadInput _
    Lib "user32" _
    (ByVal idAttach As Long, _
    ByVal idAttachTo As Long, _
    ByVal fAttach As Long) _
    As Long

Private Declare Function SetForegroundWindow _
    Lib "user32" _
    (ByVal hWnd As Long) _
    As Long

Private Declare Function SetFocusAPI _
    Lib "user32" Alias "SetFocus" _
    (ByVal hWnd As&

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


专栏作家