Office中国论坛/Access中国论坛

标题: 请教个弱问题,如何用代码打开另一个MDB!? [打印本页]

作者: sxgaobo    时间: 2014-12-26 19:31
标题: 请教个弱问题,如何用代码打开另一个MDB!?
同题,以前做过,现在忘了,不好意思!!!
作者: admin    时间: 2014-12-26 20:43
Dim appAcc As Access.Application
  appacc.OpenCurrentDatabase "c:\db1.mdb"
作者: sxgaobo    时间: 2014-12-26 21:05
本帖最后由 sxgaobo 于 2014-12-26 21:06 编辑
admin 发表于 2014-12-26 20:43
Dim appAcc As Access.Application
  appacc.OpenCurrentDatabase "c:\db1.mdb"


谢谢 !可是不行啊!!!???
Private Sub Command0_Click()
Dim appAcc As Access.Application
appAcc.OpenCurrentDatabase "D:\ABC\A1.mdb"
End Sub




作者: roych    时间: 2014-12-27 09:48
本帖最后由 roych 于 2014-12-27 10:14 编辑

加上New试试?
Dim appAcc As New Access.Application
appAcc.OpenCurrentDatabase "D:\ABC\A1.mdb"最好加上appAcc.visible=true,以便可视化。
另外,这个不适合打开包含工作组文件的mdb文件,如果需要打开工作组的,建议使用workspace

作者: sxgaobo    时间: 2014-12-27 22:13
roych 发表于 2014-12-27 09:48
加上New试试?
Dim appAcc As New Access.Application
appAcc.OpenCurrentDatabase "D:\ABC\A1.mdb"最好 ...

谢谢版主的关注!
我在论坛里找到了另种方法(不好意思,忘了是哪位朋友发的)
Dim RetVal
RetVal = Shell("msaccess.exe " + Chr(34) + "D:\A1.mdb" + Chr(34), vbMaximizedFocus)
两种相比有什么不同和优劣啊 ?!
作者: roych    时间: 2014-12-28 13:54
sxgaobo 发表于 2014-12-27 22:13
谢谢版主的关注!
我在论坛里找到了另种方法(不好意思,忘了是哪位朋友发的)
Dim RetVal

都差不多吧。反正一个是创建组件去打开文件,另一个是直接调用程序去打开文件。
如果说有什么区别的话,组件创建后,如果不写上app.Quit,那么每次都会创建一个组件,当组件比较多的时候会影响到性能(这个可以从任务管理器里查看)。
作者: sxgaobo    时间: 2014-12-28 20:16
谢谢版主的解释!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3