开发环境:WinXP专业版、VB6+SP6企业版程序中用到了数据控件(DATA1)和MSFLEXGRID控件,以及一个数据库文件(ACCESS2000格式),在VB中运行程序、编译后运行均正常。但移到其它系统中(Win98+Office2000+VB6)运行,则提示“运行时错误‘3170’ 找不到可插入的ISAM”这是怎么回事啊?怎么解决?

解决方案 »

  1.   

    查能上开发时你安装最新的SPK6。DATA这时用的是DAO3.6.与宿主计算机的DAO版本不对应。
      

  2.   

    数据控件(DATA1)我怎麼覺得好象看見過說不能連接access2K呢?
      

  3.   

    有两种可能: 
        1、没有安装相应的数据库驱动程序。你可以使用RegEdit查看HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines(VB6为...\Jet\4.0\...),从这里你可以看到当前系统安装了多少驱动程序,每个驱动都是由哪些文件组成,请检查一下你所需要的数据库格式的驱动文件是否被拷贝到System目录中。更详细的介绍可以参考微软的Knowledge Base的文章:“Q240377 OWTO: Insuring Jet 3.5 Is Installed Correctly (Part I)”和微软的Knowledge Base的文章:“Q245524 OWTO: Insuring Jet 3.5 Is Installed Correctly (Part II)”。在这两篇文章中详细地列出了到底ISAM包括哪些文件和注册表设置(VB 5.0以后版本将有关信息保存在注册表中,而不是INI中)。 
        2、指定数据库时所使用字符串有错误。原来我们对QA000115 "在VB中如何实现把当前库或表转换为另外一种数据库文件"的回答有一处错误,访问Excel 95文件应该指定使用'EXCEL 5.0;',而不是'EXCEL 7.0;'。VB 5.0没有定义'EXCEL 7.0;'这种方式。如果在指定数据库方式时出现错误,VB也会产生这条错误信息。 
      

  4.   

    参考:
    http://www.china-askpro.com/msg2/qa56.shtml
      

  5.   

    可这错误怎么解决呢?不会要重写代码吧?在目标系统安装SP6补丁???可是目标系统上不可能都安装有VB啊。