标题: 解决 the OLE server or activex control问题 [打印本页] 作者: 雨农 时间: 2008-1-5 11:37 标题: 解决 the OLE server or activex control问题 当我把源程序从深圳的一台开发机器(windows 2000 ch+access 2003 en)移到美国的一台开发机器上(windows 2003 en server+access 2003 en)上时,运行其中一个窗体(后来试过后是所有窗体),无论什么事件(form_load,_click,_afterupdate...,)只要有代码的,都跳出下列的问题:
The expression On Load you entered as the event property setting
produced the following error: A problem occured while Microsoft Access
was communicating with the Ole server or ActiveX Control
以前也遇到过类似的,是从香港的一台开发机器(windows 2000繁体服务器+access 2003 en)移动深圳的一台开发机器(windows 2000 ch+access 2003 en),但我将所有的窗体,报表,moudle都导进另一个工程内就解决问题了,
但现在这个实在是烦人呐,导过后,原工程用到的引用对像我照样引用,其中有1> microsoft dao 3.6(Dao360.dll),2> Microsoft Activex date objects 2.1 Library,3> OLE automation,4> microsoft window common control 2.6的版本不一样,5> vb for appliations ,6> microsoft access 11.0 library,7> Microsoft excel 11.0 library的版本一样,
应该要注册的.ocx,文件都注册了(我只用到一个mscomct2.ocx控件),问题依然存在
在不断的尝试中我发现了,报表/moudles/查询可以正常运行,单单是带代码的窗体会出现这样的问题,
我在美国开发机器上新开一个.mdb文件,copy源程序上的controls,code过去保存后运行没问题的.
郁闷,google了好多老外的网站都没找到答案(死英文实在烦人),希望这里有高手帮忙出策.作者: 雨农 时间: 2008-1-5 11:40
有帮集团类型公司开发过工程的兄弟吗?大家都来看看,我先顶一个了,好急啊作者: tmtony 时间: 2008-1-5 11:45
使用纯英文开发作者: 雨农 时间: 2008-1-5 11:55
totony,
我的表字段,所有的控件名,代码全是英文的,因为我以前移动过到一台服务器上,因为都是中文语系的(繁体中文服务器转简体中文服务器),所以不能可再带有非英文的东西在里边了,还有的是,我单单import其中一个窗体去新的.mdb文件中也出现一样的问题,作者: 雨农 时间: 2008-1-5 12:02
大约是有下面几种情况会引起上面的问题
1>字体含中文
2>缺少引用
3>用到的.ocx,.dll文件没注册
可我还想不到还有没有别的会引起这样的问题,像引用中的.dll,.ocx文件版本不同会不会引起问题?
A problem occured while Microsoft Access
was communicating with the Ole server or ActiveX Control
这里提示的access与OLE server or ACTIVEX control通信出了问题,是不是单单是由OLE server or ACTIVEX control引起的呢?还会不会有别的东西在作怪啊?作者: tmtony 时间: 2008-1-5 13:02
原来是中文开发的话,有几个地方需要专门转换
1.字体
2.控件的默认属性(很多),如你在窗体上添加一个控件,可能它的默认字体就是 宋体
3.主体 页眉 页脚的名字 可能是中文
4.内码(charset),这个不太好改,但一般不改,也不会有什么错误 ,可以忽略看看
5.引用的MDE或控件要先兼容英文系统作者: Grant 时间: 2008-1-5 13:40
如果是要在EN系统下用建议也在EN系统下开发,不然会带了不必要的麻烦作者: 雨农 时间: 2008-1-10 18:55
问题搞定了,还是谢谢tmtony站长,呵呵,姜还是老的辣啊!作者: 方漠 时间: 2009-2-4 17:41
我也遇上同样的问题了,请问雨农兄的是怎样解决的?