重问:*************************************************************************
Delphi里如何用SQL语句把Access的表导出到DBF中去?在SQL Server中是没有问题的,但是在Access里不知道应该如何。Access里的SQL有很多是与SQL Server不兼容的。
*************************************************************************=========================================================
回复人: ttoth12(borlander) 
--------------------------------------------
你可以使用delphi的datapump工具阿,这个在开始文件夹的delphi 7目录下面阿,那个datapump阿,这个可以实现不通数据库的数据导入倒出阿!!
==================================================================================================================
回复人: knife_s(人生常恨水常东)
---------------------------------------------
再贴在大富翁看到的贴子,好东西应该流传在SQLServer中执行
SELECT * into bmk
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="e:\share";User ID=Admin;Password=;Extended properties=dBase 5.0')...bmk
这样就可以把e:\share中的bmk.dbf表导入到Sqlserver中,
速度是最快的
把压箱底的方法都告诉大家
在Form上放一个ADOConnection,连结指向目标Access库
比如txt文件在c:\temp\aaaa.txt
就执行
ADOConnection.Connected := True;
ADOConnection.Execute('Select * Into abcd From [Text;Database=c:\temp].aaaa.txt');
就一切Ok了,这个方法一定行的,我好不容易才研究出来的
有了这两个例子,异构数据库之间导数据的问题就举一反三,迎刃而解了。把Excel导入到Access中,同txt类似
select * into <table name> from [excel 8.0;database=<filename>].[<sheetname>$]我最讨厌别人用BatchMove导数据了,明明一个SQL的事情,偏要
我的目标是让大家抛弃BatchMove
==================================================================================================================
回复人: Kaykay(高级程序蛇) 
---------------------------------------
导入我知道,我要知道的是导出呀,,,,
在SQL Server中我是知道的,但是在Access里不行呀
五一休假,到现在才上来看,拜托哪位大哥再给点Tips
=========================================================

解决方案 »

  1.   

    奇了怪了,导入不就是导出吗??你就是把ACCESS的数据导入DBF文件
      

  2.   

    /*************导出到Access********************/
    insert into openrowset('Microsoft.Jet.OLEDB.4.0', 
       'x:\A.mdb';'admin';'',A表) select * from 数据库名..B表/*************导入Access********************/
    insert into B表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0', 
       'x:\A.mdb';'admin';'',A表)文件名为参数
    declare @fname varchar(20)
    set @fname = 'd:\test.mdb'
    exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'',
        '''+@fname+''';''admin'';'''', topics) as a ')SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="f:\northwind.mdb";Jet OLEDB:Database Password=123;User ID=Admin;Password=;')...产品
      

  3.   

    To: knife_s(人生常恨水常东)
    首先,你要知道,DBF是一种特定的文件格式(dBase),和TXT是不一样的。
    也就是,你在Access里可以手工把表导出到DBF文件中。
    你试一下,也许就知道我的意思了
      

  4.   

    直接的说,就是:
    我的数据库是Access,现在我想在AP里某个按钮的click事件里完成导出功能,把表T导出到T.dbf中去,应如何实现?
    谁能提供详细解决方法,以后本蛇永久性提供无偿回答问题服务。:)))
      

  5.   

    SELECT * INTO t1
    FROM t1 IN 'C:\DB'[dBASE IV;];
      

  6.   

    to DebugXP:
    Thank you very much!
    但是你这是把数据导入到了表t1,我现在是要从表t1里把数据导出到t1.dbf中去,语法又该如何?
      

  7.   

    转一下SELECT * INTO t1 IN 'C:\DB'[dBASE IV;]
    FROM t1;没有dbf,无法测试
      

  8.   

    ACCESS有个导出工具的!!!其实也有相关的API的!