我做了一个将excel2003文件导入到access数据库的功能:
程序是办公室电脑上能正常运行,xp系统,delphi7,office2010
但是今晚放到自己电脑(WIN7系统,delphi7,office2007)上运行就出现问题了,
程序能进,但是当选择好文件导入时,就弹出错误:
Project Cost.exe raised exception class EIntfcasterror with message 'interface not supported'
相关代码如下:代码在办公室电脑上能正常运行的procedure Tfinput_CW.btnSelectClick(Sender: TObject);
begin
if OpenDlg.Execute then//OpenDlg为一个打开对话框
begin
aa.OpenCurrentDatabaseOld(ExtractFilePath(ParamStr(0))+'data\dbCost.mdb',false); //打开数据库aa.DoCmd.TransferSpreadsheet(acImport,acSpreadsheetTypeExcel8,'T_overhead',OpenDlg.FileName,true,'','');
//实现导入,具体参数的含义下面会介绍。
aa.Disconnect; //断开数据库连接
showmessage('导入成功');
end;end;
网上有很多这个问题,但都没看到什么太直接的解决办法,请教各位,这个是什么原因造成的呢?请问该怎么解决?在线等解决,先谢谢了
程序是办公室电脑上能正常运行,xp系统,delphi7,office2010
但是今晚放到自己电脑(WIN7系统,delphi7,office2007)上运行就出现问题了,
程序能进,但是当选择好文件导入时,就弹出错误:
Project Cost.exe raised exception class EIntfcasterror with message 'interface not supported'
相关代码如下:代码在办公室电脑上能正常运行的procedure Tfinput_CW.btnSelectClick(Sender: TObject);
begin
if OpenDlg.Execute then//OpenDlg为一个打开对话框
begin
aa.OpenCurrentDatabaseOld(ExtractFilePath(ParamStr(0))+'data\dbCost.mdb',false); //打开数据库aa.DoCmd.TransferSpreadsheet(acImport,acSpreadsheetTypeExcel8,'T_overhead',OpenDlg.FileName,true,'','');
//实现导入,具体参数的含义下面会介绍。
aa.Disconnect; //断开数据库连接
showmessage('导入成功');
end;end;
网上有很多这个问题,但都没看到什么太直接的解决办法,请教各位,这个是什么原因造成的呢?请问该怎么解决?在线等解决,先谢谢了
解决方案 »
- 各位大侠,怎样让stringgrid的水平滚动条位置怎样保存不变?
- 关于delphi下dll封装MDI窗体的问题,一天了,没头绪救救我吧
- 应用程序在执行数据查询时,怎么样实现等待进度条?DBgridEh用本地过滤功能(stfilter)在代码里如何实现清空条件?
- 请教,如何将image显示的图相保存到数据库中?
- 请教Delphi中的语法问题---不见得好回答,谢谢各位帮忙!!!
- 有关word的两句代码,朋友,帮忙看看
- 请教用FTP进行文件传输,怎样能实现断点传输。
- 您好。 请问update 与 replace 怎么用?
- ADO已坏,如何重装,去哪里下载ADO软件?????????????????????
- 急急急!如何调出帮助。
- Dbgrideh 一个单元格中显示多行文本,怎么控制各行的字体属行和行间距?
- 扫描文件问题
我一般用TAdoQuery来执行SQL语句
Insert into A(a1,a2,a3) SELECT * FROM [EXCEL 8.0;DATABASE=D:\123.XLS].[SHEET1$]
2. Compile the application on your computer running office 2003
3. EnjoyHope it helps.//Ali
Project cost.exe raised exception class eoleException with message
'不正常地定义参数对象,提供了不一致或不完整的信息'……我的代码改成了这样:请看看有什么问题:“procedure Tfinput_CW.btnSelectClick(Sender: TObject);
begin
with datamd.adoInput do
begin
close;
sql.Clear;
sql.text:='insert into t_overhead(ID,Fyear,FPeriod,FFactory,FNumber,FAmount) SELECT * FROM [EXCEL 8.0;DATABASE=D:\excel\费用.XLS].[SHEET1$]';
showmessage(sql.Text );
execsql;
end;
showmessage('导入成功');
end;
with adoquery1 do
begin
Close;
SQL.Clear;
Parameters.Clear;
ParamCheck := false;//在SQL语句里如果出现路径的话,因为有冒号,所以要指定这个参数为False
SQL.Add(strSql);
end;
我看你在早上的一个帖子里说来CSDN两年,接触delphi才1年,你太厉害了……