1.问题简述:
MDB/ADP文件有一个名称,而进入VBA编辑器中【工具】菜单中的【..属性】弹出的【工程属性】对话框中有个"工程名称",通常这两个名称是一致的,但如果改变工程名称,会产生什么后果,这两者之间有什么区别?
2.解决办法:
默认情况下,新建的MDB/ADP文件这两者是一致,而如果你改变了工程名称,对程序不会造成什么影响.但有种情况例外,举个例子来说明.
假如 有A.mdb B.mdb两个MDB文件, A.mdb的工程名称为A B.mdb的工程名称为B.在B.mdb文件中有个公共函数叫FuncGotAccessCn()
如果A.mdb引用了B.mdb ,并且在A.mdb中使用了B.mdb中的FuncGotAccessCn()函数,一般情况,为了避免命名冲突,调用这个函数的时候会使用显式调用, 例如: B.FuncGotAccessCn(), 这样就可调用了B.mdb的这个函数, 但如果将B.mdb的工程名称改为BProj, 则此处的代码应改为BProj.FuncGotAccessCn(), 这样才能正确调用到B.mdb中工程中的函数. 由此可看到文件名与工程名称的区别. 如果您不希望因为工程名称的改变而需要修改A.mdb的程序的话,可为每个函数定义一个不可能有命名冲突的名称, 这样,在A.mdb引用B.mdb中的函数时就不使用显示引用,而直接如此调用: FuncGotAccessCn(), 因为A.mdb中没有这个函数,所以会自动调用B.mdb中的FuncGotAccessCn()函数
3.专家点评:
A.mdb调用B.mdb中的窗体情况与上面有些不同的地方,下次再进行讲解。