• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    如何在VB6中導出EXCEL、FOXPRO格式的表

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 35次 | 進入軟件測試論壇討論

    領測軟件測試網
    作者:cocoboy79 中國軟件開發中心

     MIS系統在月末由于業務的需要總要匯總當月業務情況,并且導出報盤,我把我的程序中的這一部分功能單拿出來,做成一個小的程序,僅供參考。

    一般是在ACCESS或是SQLSERVER中查尋,或是匯總,然后生成一個‘記錄集’可以顯示在GRID里,也可以將這個記錄集導出到磁盤中。

    下面可以導出Xls,DBF,DB,MDB(表),這些功能是由ISAM數據庫接口實現,為了導出各種版本的文件,我在MS網站下載了最新的JET4和MDAC6。前者到用于桌面數據庫如ACCESS,FOXPRO的組件,后者是實現新版本ADO組件。分別在:
    http://download.microsoft.com/download/access2000/SP/4.0/NT5/EN-US/Jet40SP5_W2K.exe
    http://download.microsoft.com/download/dasdk/install/2.60.6526.3/WIN98Me/CN/mdac_typ.exe

    這些是標準的SQL導出語句:
    select * into [Excel 8.0;database=導出目錄].導出表名 from 表
    select * into [FoxPro 2.6;database=導出目錄].導出表名 from 表
    select * into [FoxPro 2.5;database=同上].導出表名 from 表
    select * into [dBase III;database=同上].導出表名 from 表
    select * into [Paradox 4.X;database=同上].導出表名 from 表
    select * into [;database=C:\temp\xxx.mdb].導出表名 from 表
    下面程序為實現用戶自定議文件名用變量代替一部分。
    http://go.163.com/~chunpeng/project/export.jpg

    http://go.163.com/~chunpeng/project/Export.zip 點這里下載原程序文件。


    注釋:請先引用ADODB類庫。
    Dim Export_Str, mdbTable As String
    Dim rsExport As New ADODB.Recordset
    Dim conn As New ADODB.Connection
    Private Sub Close_cmd_Click()
    Unload Me
    End Sub

    Private Sub EXport_cmd_Click()
    Dim myPath, myStr As String, myPos As Integer

    注釋:******************處理選擇的各種表的導出
    With Dialog1
    If myOption(2).Value Then
    .FilterIndex = 1
    .ShowSave
    myStr = StrReverse(.FileName) 注釋:串取反
    myPos = InStr(myStr, "\") 注釋:在反字符串中,找從左開始第一個\的位置
    On Error GoTo myError 注釋:防FILENAME為空,MID出錯
    myPath = StrReverse(Mid(myStr, myPos)) 注釋:取目錄部分,并還原.
    myStr = StrReverse(Left(myStr, myPos - 1)) 注釋:取文件名
    Export_Str = "select * into [dBase III;database=" & myPath & "]." & myStr & " from Customers"
    .DefaultExt = "*.DBF"

    ElseIf myOption(3).Value Then
    mdbTable = InputBox("請給導出到MDB文件的表確定表名")
    .FilterIndex = 2
    .ShowSave
    Export_Str = "select * into [;database=" & .FileName & "]." & mdbTable & " from Customers"
    .DefaultExt = "*.MDB"

    ElseIf myOption(4).Value Then
    .FilterIndex = 3
    .ShowSave
    Export_Str = "select * into [Excel 8.0;database=" & .FileName & "].Customers from Customers"
    .DefaultExt = "*.XLS"

    ElseIf myOption(5).Value Then
    .FilterIndex = 4
    .ShowSave
    myStr = StrReverse(.FileName) 注釋:串取反
    myPos = InStr(myStr, "\") 注釋:在反字符串中,找從左開始第一個\的位置
    On Error GoTo myError 注釋:防FILENAME為空,MID出錯
    myPath = StrReverse(Mid(myStr, myPos)) 注釋:取目錄部分,并還原.
    myStr = StrReverse(Left(myStr, myPos - 1)) 注釋:取文件名
    Export_Str = "select * into [Paradox 4.X;database=" & myPath & "]." & myStr & " from Customers"
    .DefaultExt = "*.DB"
    End If
    End With

    注釋:*****生成文件
    Debug.Print Export_Str
    If rsExport.State = 1 Then
    rsExport.Close
    End If

    If Dir(Dialog1.FileName) <> "" Then
    On Error GoTo myError 注釋:防用戶沒選文件
    If Dialog1.FilterIndex <> 2 Then
    Kill (Dialog1.FileName)
    End If
    rsExport.Open Export_Str, conn, adOpenStatic, adLockOptimistic
    Else
    rsExport.Open Export_Str, conn, adOpenStatic, adLockOptimistic
    End If
    myError:
    Exit Sub
    End Sub

    Private Sub Form_Load()
    注釋:聯接數據庫并打開記錄集
    conn.CursorLocation = adUseServer
    conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\NWind.mdb;"
    rsExport.Open "select *from Customers", conn, adOpenStatic, adLockOptimistic
    Set Grid1.DataSource = rsExport

    注釋:初始化對話筐
    With Dialog1
    .Filter = "FoxBase/FoxPro (*.DBF)|*.DBF|Access 8.0(*.MDB)|*.MDB|Excel 8.0(*.XLS)|*.XLS|Paradox 4.x(*.DB)|*.DB"
    .DialogTitle = "導出文件為"
    .CancelError = False
    End With
    End Sub

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>