向各位高手求助。
我用delphi2009编写了一个管理系统,使用的是access数据库。现在想通过多人一起录入数据后,将数据导出,导出的数据库包含多个相同的表。再将导出的数据依次导入到同一个数据库的相同表中,导入执行语句如下:procedure TMain.N_ImportClick(Sender: TObject);
begin
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Text:='insert into PERSON select * from openrowset(''Microsoft.Jet.OLEDB.4.0'',''C:\Documents and Settings\......\桌面\PMIS.mdb'';'''';'''',PERSON)';
  Query1.ExecSQL;
end;PERSON为数据库中的一个表,该数据库无用户名,无密码。当运行程序执行“数据导入”时,总是显示错误:
General SQL error.
[Microsoft][ODBC Microsoft Access Driver] FROM 子句语法错误。领导催的紧,急待各位高手帮忙指教为谢!

解决方案 »

  1.   

    你的数据库连接时是设置ODBC数据源的吧?把ODBC数据源的路径设置成一样的,另外我觉得只是为了录入数据,可以直接对access进行操作就可以了,不用这么麻烦的导来导去
      

  2.   

    谢谢一楼的同志,因为录入的数据比较繁杂,涉及多个表,同时程序还有查询、图表统计等功能,加上很多录入人员不会使用access,所以不能直接用access来做。
    我的数据连接是设置ODBC数据源的,系统DSN下建有PMIS,路径已设,该程序的其它数据操作如数据的插入、修改、删除均正常。只是数据导入时会出现这个问题。程序启动时database1控件直接连接数据库PMIS.mdb,上面的Query1.DatabaseName=PMIS
      

  3.   

    检查你的数据库路径是否正确,如果你能确定在sql explorer中执行的话,那么在程序中也是能够执行的。
      

  4.   

    insert into A select * from B in '数据库路径'
      

  5.   

    openrowset这个好像access不支持吧,sql server可以用