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

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

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

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

    利用VB實現寬行打印的一個技巧

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

    領測軟件測試網 一、 問題的提出 我在本報曾經發過一篇《利用VB設計打印復雜報表》的文章,引起很多同仁的興趣,紛紛來信與我探討這種行之有效的方法。有人提出這樣一個問題:你講的全是針對一行打印一條數據記錄的方法,我有一個表,字段比較少,并且一直用寬行打印紙來打印,這樣就造成了半邊紙的浪費,有沒有辦法在一行打印兩條記錄以充分利用紙張呢?例如我們要按下面的要求打。


    姓名 性別 職業 職務
    姓名 性別 職業 職務
    C(2,1) C(2,2) C(2,3) C(2,4)
    C(2,7) C(2,8) C(2,9) C(2,10)

    ---- 二、 問題分析
    ---- 從上篇文章陳述的原理來看,就是把數據表的每一條記錄的數據抽取出來形成EXCEL文件,充分利用EXCEL的強大的編輯功能實現報表的設計、打印。由于是每一條記錄占一行,所以利用下面的循環就可以很自然地實現:

    For i = 0 To datPrimaryRS.RecordCount - 1
    xlSheet.Cells( I+2, 1) =
    datPrimaryRS![“字段名”]
    ……'I+2表示從第二行開始放置記錄
    Next I


    ---- 很顯然用上述方法肯定不能夠實現在一行打印兩條記錄的功能。我們能夠看出在左邊的一排對應的I為 0,2,4,6,8……;在右邊的一排對應的I為:1,3,5,7……。問題似乎很簡單,左排對應的規律應該為:2*I;右邊排對應的規律應該為:(2*I+1)。循環寫成如下的樣子:
    For i = 0 To datPrimaryRS.RecordCount - 1
    '先打印左排
    xlSheet.Cells( 2*I+2, 1) =
    datPrimaryRS![“字段名”]
    ……'I+2表示從第二行開始放置記錄
    ' 下面打印右排:
    xlSheet.Cells((2*I+1)+2, 7) =
    datPrimaryRS![“字段名”]
    ……
    Next I

    ---- 打印結果一看,這種方法是根本行不通的。上面的方法根本沒有考慮行與記錄的對應關系。左右兩條記錄對應同一個行號。
    ---- 三、問題解決

    ---- 仔細分析不難發現左排右排的對應關系如下:

    左排 0 2 4 6 8
    右排 1 3 5 7 9
    行號 2+0 2+1 2+2 2+3 2+4

    ---- 從上表可以看出規律:左排 I/2 對應著行號,右排的行號也應該是I/2。而右邊的記錄號卻是I/2+1的。所以要有一個判斷該記錄號到底是放在左邊還是放在右邊。這時可以利用Mod函數來判斷,程序代碼如下:
    For I = 0 To datPrimaryRS.RecordCount - 1
    If (i Mod 2) = 0 Then
    xlSheet.Cells( 2*I+2, 1) =
    datPrimaryRS![“字段名”]
    j = i / 2 '取出行號給右排記錄定位
    Else
    xlSheet.Cells(j+2, 7) =
    datPrimaryRS![“字段名”]
    End If
    Next I

    ---- 這時就可以按記錄的先后秩序打印出雙排的報表了。
    ---- 四、 問題總結

    ---- 利用上述方法實現了雙排打印,又一次證明了這種打印方法的極大的靈活性。

    延伸閱讀

    文章來源于領測軟件測試網 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>