[分享]未公开的SysCmd功能-andymark
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 技术类


[分享]未公开的SysCmd功能

发表时间:2009/10/10 评论(1) 浏览(7744)  评论 | 加入收藏 | 复制
   
摘 要:未公开的SysCmd功能
正 文:

 

未公开的SysCmd功能

(本文原作者: Wayne Phillips   翻译整理 : andymark )

 

这里只选择部分未公开的的SysCmd 功能:

1.把MDB转换成MDE文件

  用法: SysCmd 603, strPathInputMdb, strPathOutputMde

  Vb调用的方法:
  Dim objAccess
  Set objAccess = CreateObject("Access.Application")
  objAccess.SysCmd 603, strPathInputMdb, strPathOutputMde
  Set objAccess= Nothing

  备注: 转换MDE前请确保你的MDB已转换到当前版本


2. 返回当前ACCESS.EXE 实例的PID (仅限Access 2000以上版本)

   用法: SysCmd(609)
 

3. 编译VBA模块

   用法: SysCmd(504, Flag)

   说明: Flag =16483  ---编译VBA模块并保存
        
         Flag =16484  ---编译VBA模块但不保存


4.压缩数据库 (仅限Access 97)

  用法:SysCmd(602, strPathSourceMdb, [strPathDestinationMdb])


5.创建 MSysIMEXSpecs 和 MSysIMEXColumns 表

  用法: SysCmd(555)

  MSysIMEXSpecs 和 MSysIMEXColumns 是用来保存导入/导出设置的相关信息,并不是ACCESS默认的系统表
 
  运行SysCmd(555) 会自动创建 MSysIMEXSpecs 和 MSysIMEXColumns 表


6.VBA引用数量 (仅限Access 97)

  用法:  SysCmd(500)

  功能等同于:  Access.References.Count


7.转为Access 97 文件格式 (仅限Access 2000以上版本)

  用法: SysCmd(605, strPathOutput)

  功能等同于: Access.ConvertAccessProject strSourcePath, strDestinationPath, acFileFormatAccess97


8.转换为ADP 项目 (没有表/查询) (仅限Access 2000以上版本) 

  用法: SysCmd(607,strProjectPath)

  从当前的数库中生成一个新的ADP 项目,并导入窗体,报表,VBA模块,宏等对象
 
  此功能跟升迁向导不一样,它不处理表和查询的升迁.


9.查看Office助理提示内容 (仅限Access 2000以上版本)

  用法: SysCmd(608, intTipID)
 
  intTipID 取值范围 (0-60)

  Debug.Print SysCmd(608, 6)    返回:" 当编写宏时,可以用 RunCommand 操作执行菜单命令。"


10.设置应用实例的键盘布局

  用法: SysCmd(710, InputLocaleID)

  InputLocaleID = &H08090809: British

  InputLocaleID = &H04090409: US English

  InputLocaleID = &04150415: Polish

  InputLocaleID = &04190419: Russian

  InputLocaleID = &H04080408: Greek

 
  功能与API ActivateKeyboardLayout 一样,操作更为方便
 

11.获得指定线程的活动键盘布局

  用法: SysCmd(711)

  返回当前应用程序的InputLocaleID


12.判断当前ACCESS对象是否有在设计视图模式

  用法: SysCmd(714)

  返回一个布尔值(true/false) True: 如果 窗体,报表,宏,模块 目前在设计模式打开 返回True

 

13.ACCESS 编译版本

   SysCmd(acSysCmdAccessVer) = 9  -> Access 2000

        SysCmd(715) = 2719 ' Access 2000 No Service Pack

        SysCmd(715) = 3822 ' Access 2000 SP1

        SysCmd(715) = 4506 ' Access 2000 SP2

        SysCmd(715) = 6620 ' Access 2000 SP3

    SysCmd(acSysCmdAccessVer) = 10  -> Access 2002

        SysCmd(715) = 2627 ' Access 2002(XP) No Service Pack

        SysCmd(715) = 3409 ' Access 2002(XP) SP1

        SysCmd(715) = 4302 ' Access 2002(XP) SP2

        SysCmd(715) = 6501 ' Access 2002(XP) SP3

    SysCmd(acSysCmdAccessVer) = 11  -> Access 2003

        SysCmd(715) = 5614 ' Access 2003 No Service Pack

        SysCmd(715) = 6355 ' Access 2003 SP1

        SysCmd(715) = 6566 ' Access 2003 SP2


Access软件网交流QQ群(群号:198465573)
 
 相关文章
实用方法介绍-SysCmd 方法  【钱玉炜  2008/4/2】
(转)SysCmd 方法  【何必见戴  2012/1/2】
[分享]系统垃圾清理小程序  【心态哥  2012/8/9】
在分享中提高access编程技术  【竹笛  2013/4/19】
[分享] 浅谈软件设计   【缪炜  2013/6/30】
常见问答
技术分类
相关资源
文章搜索
关于作者

andymark

文章分类

文章存档

友情链接