作者:cocoboy79中国软件开发中心 MIS系统在月末由于业务的需要总要汇总当月业务情况,并且导出报盘,我把我的程序中的这一部分功能单拿出来,做成一个小的程序,仅供参考。一般是在ACCESS或是SQLSERVER中查寻,或是汇总,然后生成一个‘记录集'可以显示在GRID里,也可以将这个记录集导出到磁盘中。下面可以导出Xls,DBF,DB,MDB(表),这些功能是由ISAM数据库接口实现,为了导出各种版本的文件,我在MS网站下载了最新的JET4和MDAC6。前者到用于桌面数据库如ACCESS,FOXPRO的组件,后者是实现新版本ADO组件。分别在:点这里下载原程序文件。注释:请先引用ADODB类库。DimExport_Str,mdbTableAsStringDimrsExportAsNewADODB.RecordsetDimconnAsNewADODB.ConnectionPrivateSubClose_cmd_Click()UnloadMeEndSubPrivateSubEXport_cmd_Click()DimmyPath,myStrAsString,myPosAsInteger注释:******************处理选择的各种表的导出WithDialog1IfmyOption(2).ValueThen.FilterIndex=1.ShowSavemyStr=StrReverse(.FileName)注释:串取反myPos=InStr(myStr,"\")注释:在反字符串中,找从左开始第一个\的位置OnErrorGoTomyError注释:防FILENAME为空,MID出错myPath=StrReverse(Mid(myStr,myPos))注释:取目录部分,并还原.myStr=StrReverse(Left(myStr,myPos-1))注释:取文件名Export_Str="select*into[dBaseIII;database="&myPath&"]."&myStr&"fromCustomers".DefaultExt="*.DBF"ElseIfmyOption(3).ValueThenmdbTable=InputBox("请给导出到MDB文件的表确定表名").FilterIndex=2.ShowSaveExport_Str="select*into[;database="&.FileName&"]."&mdbTable&"fromCustomers".DefaultExt="*.MDB"ElseIfmyOption(4).ValueThen.FilterIndex=3.ShowSaveExport_Str="select*into[Excel8.0;database="&.FileName&"].CustomersfromCustomers".DefaultExt="*.XLS"ElseIfmyOption(5).ValueThen.FilterIndex=4.ShowSavemyStr=StrReverse(.FileName)注释:串取反myPos=InStr(myStr,"\")注释:在反字符串中,找从左开始第一个\的位置OnErrorGoTomyError注释:防FILENAME为空,MID出错myPath=StrReverse(Mid(myStr,myPos))注释:取目录部分,并还原.myStr=StrReverse(Left(myStr,myPos-1))注释:取文件名Export_Str="select*into[Paradox4.X;database="&myPath&"]."&myStr&"fromCustomers".DefaultExt="*.DB"EndIfEndWith注释:*****生成文件Debug.PrintExport_StrIfrsExport.State=1ThenrsExport.CloseEndIfIfDir(Dialog1.FileName)<>""ThenOnErrorGoTomyError注释:防用户没选文件IfDialog1.FilterIndex<>2ThenKill(Dialog1.FileName)EndIfrsExport.OpenExport_Str,conn,adOpenStatic,adLockOptimisticElsersExport.OpenExport_Str,conn,adOpenStatic,adLockOptimisticEndIfmyError:ExitSubEndSubPrivateSubForm_Load()注释:联接数据库并打开记录集conn.CursorLocation=adUseServerconn.Open"PROVIDER=Microsoft.Jet.OLEDB.4.0;DataSource=" App.Path "\NWind.mdb;"rsExport.Open"select*fromCustomers",conn,adOpenStatic,adLockOptimisticSetGrid1.DataSource=rsExport注释:初始化对话筐WithDialog1.Filter="FoxBase/FoxPro(*.DBF)|*.DBF|Access8.0(*.MDB)|*.MDB|Excel8.0(*.XLS)|*.XLS|Paradox4.x(*.DB)|*.DB".DialogTitle="导出文件为".CancelError=FalseEndWithEndSub->