数据导入 要从一个EXCEL里读取数据保存到一个ACCESS里,我是这样做的,每次暂存款100条记录到内存,再写入ACCESS里完成后再读取下一个100条记录,可是 这样做好慢呀有没有好的办法谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 转载:用delphi 的 servers中提供的AccessApplication实现Excel表导入Access。用AccessApplication 调用Access 的外部数据导入功能实现Excel导入Access。代码很简单但是有一点需要注意。代码如下: aa.OpenCurrentDatabaseOld('c:\aa.mdb'); //打开数据库 aa.DoCmd.TransferSpreadsheet(acImport, acSpreadsheetTypeExcel8, ATableName,AFileName,true,EmptyParam,EmptyParam);// 实现导入 aa.Disconnect;//断开数据库连接注:aa为AccessApplication控件,若是Office2000,则要用( aa.OpenCurrentDatabase('c:\aa.mdb');) //打开数据库若是office2003则用 aa.OpenCurrentDatabaseOld('c:\aa.mdb'); //打开数据库,)TransferSpreadsheet 函数声明如下: procedure TransferSpreadsheet(TransferType: AcDataTransferType; SpreadsheetType: AcSpreadSheetType; TableName: OleVariant; FileName: OleVariant; HasFieldNames: OleVariant; Range: OleVariant; UseOA: OleVariant); safecall; TransferType:传送模式本例导入所以设置为 acImport AcDataTransferType:传送数据类型 Execl8数据 cSpreadsheetTypeExcel8 TableName:数据库中的目标表名 FileName:数据文件名字,本例中Excel文件名字 HasFieldNames:数据文件是否包含字段名。如果包含设置true Range:导入范围,可以设置Excel文件中的Sheet名。在支持officexp 时其作用,在支持office2000的好像不行。 UseOA:还不清楚有什么作用 要是excel中的表是简单格式的表那是很容易处理的。可以使用组件TBatchMove也可以直接使用Access的SQL数据导出语句实现。 一楼的方法我刚试了下,是真的好快学习了,可是,导入ACCESS只是我做的一个测试,要导入的数据库是ORACLE我也用到线程做,可是还是那么慢, 关于dll呼出窗体 FormCreate事件下为什么TreeView不显示呢 怎么让ListView的滚动条定位到它选择的纪录 学DELPHI6 买什么书好? 如何判断窗口是否存在 如何改变TTS语音朗读声音?解决马上给分。 有个棘手的问题,在标题中无法表达清楚,请大虾们进来看看,有分 有谁做过雅培c8000的双工?有没有中文通信说明? 菜鸟问题:关于override,inherid,搞不懂什么意思,作什么用的? 谁知道可以用的代理服务器地址?.. 如何让软件不管再什么情况下都能从最小化恢复到最大化 怎么让文本框只输入数字呢?
用delphi 的 servers中提供的AccessApplication实现Excel表导入Access。用AccessApplication 调用Access 的外部数据导入功能实现Excel导入Access。代码很简单但是有一点需要注意。代码如下: aa.OpenCurrentDatabaseOld('c:\aa.mdb'); //打开数据库
aa.DoCmd.TransferSpreadsheet(acImport, acSpreadsheetTypeExcel8,
ATableName,AFileName,true,EmptyParam,EmptyParam);// 实现导入
aa.Disconnect;//断开数据库连接注:aa为AccessApplication控件,若是Office2000,则要用( aa.OpenCurrentDatabase('c:\aa.mdb');) //打开数据库若是office2003则用 aa.OpenCurrentDatabaseOld('c:\aa.mdb'); //打开数据库,)TransferSpreadsheet 函数声明如下: procedure TransferSpreadsheet(TransferType: AcDataTransferType;
SpreadsheetType: AcSpreadSheetType; TableName:
OleVariant;
FileName: OleVariant; HasFieldNames: OleVariant;
Range: OleVariant; UseOA: OleVariant); safecall; TransferType:传送模式本例导入所以设置为 acImport
AcDataTransferType:传送数据类型 Execl8数据 cSpreadsheetTypeExcel8
TableName:数据库中的目标表名
FileName:数据文件名字,本例中Excel文件名字
HasFieldNames:数据文件是否包含字段名。如果包含设置true
Range:导入范围,可以设置Excel文件中的Sheet名。在支持officexp 时其作用,在支持office2000的好像不行。
UseOA:还不清楚有什么作用
可以使用组件TBatchMove也可以直接使用Access的SQL数据导出语句实现。
学习了,可是,导入ACCESS只是我做的一个测试,
要导入的数据库是ORACLE
我也用到线程做,可是还是那么慢,