請問在VB里可不可以將SQL數據庫轉換為DBF格式的文件﹖急求助﹗﹗﹗

解决方案 »

  1.   

    建立一个ADO
    SQL语句:"SELECT * INTO [dBase III;DATABASE=APP.PATH" & "\].文件名 FROM 表名"
      

  2.   

    zhoupq , 你好﹐可否具體一些.
      

  3.   

    SQL语句:"SELECT * INTO [dBase III;DATABASE=APP.PATH" & "\].文件名 FROM 表名"???这样的SQL语句是非法的吧,并不能被SQL-Server执行!简单的方法是将建立一个通用的DBF表结构,用两个ADO recordset同时连接SQL表和DBF表,通过遍历的方式,复制表记录。
      

  4.   

    在 Form 上放置一个 CommandButton,加入 Microsoft DAO 3.51 Object Library,我们将使用 Biblio.mdb 的 authors Table,在 Command1_Click 中加入以下程序码:Dim db As Database
    Set db = Workspaces(0).OpenDatabase(App.Path & "\biblio.mdb")
    'db.execute "SELECT Table.Fields INTO [dbms type;DATABASE=path].[unqualified filename] FROM [Table or Tables]"在以上程序中,db.execute 指令行之指令依资料库或文件的种类说明如下:DBase文件SQL 语法:SELECT * INTO [dBase III;DATABASE=资料库路径].[dbase文件名称] FROM [authors]
    db.Execute "SELECT * INTO [dBase III;DATABASE=C:\test].[authors.DBF] FROM [authors]"
    注意事项:
    1、authors.DBF 事先不可存在,否则会产生错误!
    2、若您没有 Dbase,您可以使用 Access 来连结这个 Table,以便观察结果!
      

  5.   

    经过自己看了好多相关贴子与自己摸索,终于成功了,特贴出来与大家分享  
    strFile  是要导出的DBF文件名,rsPayroll  报盘数据  
     
    Private  Sub  ExportBankData(ByVal  strFile  As  String,  rsPayroll  As  ADODB.Recordset)  
           Dim  cnDBF  As  ADODB.Connection  
           Dim  strConString  As  String  
           Dim  strPath  As  String  
           Dim  strSql  As  String  
             
             
           On  Error  GoTo  Errorhandle  
           If  InStr(strFile,    "\  ")    >  0  Then  
                   strPath  =  Left(strFile,  InStrRev(strFile,    "\  ",  -1,  vbTextCompare)  -  1)  
           Else  
                   strPath  =    "C:  "  
                   strFile  =    "C:\报盘.dbf  "  
           End  If  
     
           strConString  =    "Driver={Microsoft  Visual  FoxPro  Driver};  "  &  _  
                                                   "SourceType=DBF;  "  &  _  
                                                   "SourceDB=  "  &  strPath  &    ";  "  &  _  
                                                   "Exclusive=YES;  "  
           Set  cnDBF  =  New  ADODB.Connection  
           cnDBF.ConnectionString  =  strConString  
           cnDBF.Open  
             
           strSql  =    "CREATE  TABLE  [  "  &  strFile  &    "]    "  &  _  
                     "(帐号  char(20),金额  numeric(8,2),姓名  char(22),编号  char(30),摘要  char(20),TEMP  char(1))  "  
           cnDBF.Execute  strSql  
             
           Do  While  Not  rsPayroll.EOF  
                   strSql  =    "Insert  into    "  &  strFile  &  _  
                             "  Values('  "  &  Trim$(rsPayroll!hrsscount)  &    "',  "  &  CStr(rsPayroll!hrssacm)  &    ",'  "  &  _  
                                   Trim$(rsPayroll!hrsnam)  &    "','','','')  "  
                   cnDBF.Execute  strSql  
                   rsPayroll.MoveNext  
           Loop  
             
           cnDBF.Close  
           Set  cnDBF  =  Nothing  
           Exit  Sub  
    Errorhandle:  
           Set  cnDBF  =  Nothing  
           Err.Raise  Err.Number,  Err.Source,  Err.Description  
    End  Sub
      

  6.   

    这个问题我都回答N遍, 用SQLSERVER的DTS导出为DBF文件或其他数据库文件,完成时保存为VB脚本,然后在VB中调用这个模块就能实现此功能。 最简单的方法,代码都不用写不要把分给我,再在这个问题上赚分我都不好意思了
      

  7.   

    这个问题我都回答N遍, 用SQLSERVER的DTS导出为DBF文件或其他数据库文件,完成时保存为VB脚本,然后在VB中调用这个模块就能实现此功能。 最简单的方法,代码都不用写把分给我,再在这个问题上赚分我也不会不好意思