寻找代码解决方案将.mdb表导入另一个.mdb表

时间:2015-10-06 17:06:14

标签: c++ sql ms-access mfc

我正在尝试将现有数据库更新为更新版本的.mdb数据库。我想将较新版本的.mdb中的表添加到现有的.mdb中。我试图遵循以下Microsoft支持链接。

https://support.microsoft.com/en-us/kb/200427

我的设置是:

   CDatabase db;
   CString SQL;

   SQL = "SELECT * INTO "
         "[ODBC;Driver=Microsoft Access Driver (*.mdb);DBQ=C:\\Database\\info.mdb;PWD=password;]."
         "[Diagnosis] "
         "FROM [Diagnosis]";
   try
   {
      // Open database and execute SQL statement to copy data.
      db.OpenEx( "Driver=Microsoft Access Driver (*.mdb);"
                 "DBQ=C:\\Database\\newDBTemp\\info.mdb;PWD=password;",  CDatabase::noOdbcDialog );
      db.ExecuteSQL( SQL );
   }
   catch( CDBException* pEX )
   {
      // Display errors.
      AfxMessageBox( pEX->m_strError );
      pEX->Delete();
   }

当我运行代码时,我收到错误You cannot use ODBC to import from, export to, or link and external Microsoft Jet or ISAM database table to your database.

所以,我的问题是,有没有办法将整个表从一个数据库复制到另一个数据库,而不是手动输入所有字段?我更改了路径和变量名称以使示例更简洁。

2 个答案:

答案 0 :(得分:0)

由于错误与ODBC有关,因此使用the link you provided中提到的DAO可能更好。希望您不再支持Access 2003(Microsoft ended support for Office 2003 on April 8, 2014)。

,您将找到所需内容
  

Microsoft Office Access 2003 | Microsoft DAO 3.6对象库

MSDN上对数据访问对象(DAO)3.6库的引用。

答案 1 :(得分:0)

您是否曾尝试同时打开同一版本的两个mdb文件,然后将表格从一个拖放到另一个。

我有Access 2013,我之前使用过它。

我真的不明白为什么你要将旧版本更新为新版本但是你要将表格从不同的新版本复制到旧版本?当然,将旧版本更新为新版本THEN复制表。