none
請問Report的問題。 RRS feed

  • 問題

  • 請問大家:

       (因為不知道標題如何下,請見諒)

        我想要在vb 2005 中,輸出一種報表,是一筆資料就一頁,如果有多筆的話,就會輸出成多頁。

       如果是輸出成Grid的方式,我已經有成功做出來,現在就是一筆資料要套成一頁的方式,我還不知道怎麼做。

       請各位指教。謝謝

     

    visual basic 2005 + winxp + sql 2000

     

    2007年7月24日 上午 12:56

解答

  • 阿阿~~MMichael,這個rdlc搭配ReportViewer就是Reporting Service的本機報表。

    您的解決方法可以設定一個群組(以PK為運算式,就是所謂的分組條件),

    然後設定Insert Page Break at the end(中文應該是翻成在頁尾插入分頁符號) ,

    這樣就能達成您的需求。

    2007年7月27日 上午 02:10
    版主

所有回覆

  • 是使用Reporting Service嗎?

    如果是,作法是設定一個群組,然後以Primary Key當成分組的運算值,

    最後勾選Page Break at the end(頁尾插入分頁符號)。

     

    以上供您參考。

    2007年7月24日 上午 01:11
    版主
  •  hi Lolota

       不是reporting Servie,是只有本機的report而已,這樣的話,作法是要如何做呢?

        謝謝

    2007年7月24日 上午 01:14
  • Hi~您好

    您可以在程式的畫面上部署一個 PrintDocument 元件  並在 PrintDocument 元件上連點兩下

    此時會在VB檔中 產生一個SUB 如下所示

     Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument4.PrintPage
            Dim g As Graphics = e.Graphics
            g.PageUnit = GraphicsUnit.Millimeter
            Dim Font As New Font("新細明體", 24, System.Drawing.GraphicsUnit.Point)
            g.DrawString("這是列印出來的字串", Font, Brushes.Black, 7, 70)
        End Sub 

     

    這個SUB 會印出 "這是列印出來的字串" 這串文字

    你可以利用程式跑回圈的方式 讓資料一筆一筆列印出來 如下

    Dim PrintString  AS String '宣告為全域變數

    For i As Integer = 0 To 10
                PrintString = "這是第" & i & "筆資料"
                PrintDocument1.Print()
      Next

     

    其中 PrintString 為全域變數,而 g.DrawString("這是列印出來的字串", Font, Brushes.Black, 7, 70) 改寫成

     g.DrawString(PrintString,Font, Brushes.Black, 7, 70)

    在套用上面的迴圈  應該就可以達到一筆列印一張的效果

     

    提供給您參考 希望對您有幫助喔  ︿︿

    2007年7月24日 上午 02:02
  • Hi 你好:

        不過我還是會用到report這個元件,因為要印一張付款通知書,上面就是單筆的資料,但是是有格式化的資料,而我不想直接輸到Excel中,想要了解用Report時,是如何做到的

        PrintDocument 我沒有用過,和Report最大的不同是什麼呢?因為我還有連到資料庫,所以只有想到report,crystal report 不會用...............

        感謝回答。

     

    2007年7月24日 上午 02:13
  • Hi 您好

    我不太明白你所謂的report這個元件是哪各元件耶...

    能不能請你描述一下 你所使用的方法  這樣我比較好幫你解答  謝謝 ^^

    2007年7月25日 上午 09:52
  • hi 你好         我是用report這個元件,它的副檔名是.rdlc,沒有連到reporting service (怪了,打字不能跳行,請見諒!)     謝謝

     

    2007年7月26日 上午 06:46
  • 阿阿~~MMichael,這個rdlc搭配ReportViewer就是Reporting Service的本機報表。

    您的解決方法可以設定一個群組(以PK為運算式,就是所謂的分組條件),

    然後設定Insert Page Break at the end(中文應該是翻成在頁尾插入分頁符號) ,

    這樣就能達成您的需求。

    2007年7月27日 上午 02:10
    版主