我觉得用排除法解决问题
1,在2007电脑上执行没问题,说明控件属性在2007上设置正常
2,在2003电脑上执行有问题,有两种情况会导致,你认为是access版本导致的。
3,我用2003版没问题,说明不是access版本问题。
这样一来只有两种情况导致问题发生:
1:你2003电脑系统问题:从你的谈论可知你是使用adodc、DataGrid控件访问数据库的,这两控件对应的文件为msadodc.ocx、msdatgrd.ocx,再用工具软件分析可知这两控件需要很多其他文件支持,如adodc需要msado15.dll、stdole2.tlb、odbc32.dll等,同样DataGrid也需要不下30个这类文件支持,大多数文件是windows系统文件,任何一个被其他软件升级或改变都会导致你的问题。
2:adodc控件属性设置有问题,很可能你的程序设计是在2007电脑上做的,adodc中数据库文件路径设置死了,比如你在2007上数据库路径为e:\aaa\bbb.mdb,你全盘拷贝到2003电脑上时,你数据库位置是d:\aaa\bbb.mdb,这样导致你adodc控件找不到数据库,所以空白。
结论:你说你系统没问题,2007上运行正常,不是2003版本问题,因此就是adodc属性设置固定,而2003的运行环境和2007不同造成的。
解决办法:
1:让2003的程序运行路径和2007完全相同,即在同一盘符和同一目录层次(至少数据库的目录路径一样)
2:adodc中连接数据库字符串中的关于数据库目录路径用变量代替,代码如下(假设数据库和运行程序目录相同):
Adodc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & app.path & "\文件名.mdb;Persist Security Info=False"
如果再不能解决,你赶快请个和尚或道士,把你电脑前前后后看下,肯定是电脑里住了小鬼打搅的,拜拜神或许会解决!