Printing on a new page

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Zimba

    #1

    Printing on a new page

    I want to take a new page while running over a resultset.
    I made a very simple sample, i want to take a new page in "Afdrukken"
    It's easy to say test on 14000 and don't test in "Afdrukken" but this is
    only a simple sample, don't change the code, I really need a pagebreak in
    "Afdrukken"

    Thanks in advance

    Here is the code

    Dim afdruk As New SDCNetAfdrukDLL .clsAfdrukDLL
    Dim i As Integer
    Dim pry As Long
    Dim strSQL As String
    Dim rs As New FBZNETDataObjec t.FBZNETData
    Dim bReturn As Boolean
    Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
    System.EventArg s) Handles
    Button1.Click
    PrintDoc = New Printing.PrintD ocument
    strSQL = "SELECT Volgnr, Opmerking, ToegewezenAan, DatumOpl " _
    & " FROM Taak "
    bReturn = rs.lezen(strSQL )
    PrintDoc.Print( )
    End Sub
    Private Sub PrintDoc_PrintP age(ByVal sender As Object, ByVal e As

    System.Drawing. Printing.PrintP ageEventArgs)
    Handles PrintDoc.PrintP age
    afdruk.pageEven ts = e
    'Running over resultset
    Do While Not rs.EOF
    Afdrukken()
    'Take a new page when 15000 twips
    If pry 15000 Then
    e.HasMorePages = True
    pry = 500
    Exit Sub
    End If
    bReturn = rs.Volgende
    Loop
    e.HasMorePages = False
    End Sub

    Private Sub Afdrukken()
    afdruk.Tekst(50 0, pry, rs.Waarde("Volg nr"))
    pry = pry + 500
    afdruk.Tekst(50 0, pry, rs.Waarde("opme rking"))
    pry = pry + 500
    'Take a new page when 15000
    If pry 15000 Then
    'Here i want a pagebreak !!!!!
    End If
    afdruk.Tekst(50 0, pry, rs.Waarde("Toeg ewezenAan"))
    pry = pry + 500
    afdruk.Tekst(50 0, pry, rs.Waarde("Datu mOpl"))
    pry = pry + 500
    End Sub

  • JR

    #2
    Re: Printing on a new page

    Hoi,

    In Uw afdrukroutine moet je ergens bijhouden hoever je bent gekomen met een
    static variabele. dan stel je newpage op true (e.HasMorePages = True)

    Dan verlaat je je routine want zodra je
    e.HasMorePages = True bekomt kom je vanzelf opnieuw in dezelfde routine.
    waar je volgens de static variabele verder afdrukt



    Jan


    "Zimba" <Zimba@discussi ons.microsoft.c omschreef in bericht
    news:A057FF86-DD73-4F03-9B45-1B060B0F6BD1@mi crosoft.com...
    >I want to take a new page while running over a resultset.
    I made a very simple sample, i want to take a new page in "Afdrukken"
    It's easy to say test on 14000 and don't test in "Afdrukken" but this is
    only a simple sample, don't change the code, I really need a pagebreak in
    "Afdrukken"
    >
    Thanks in advance
    >
    Here is the code
    >
    Dim afdruk As New SDCNetAfdrukDLL .clsAfdrukDLL
    Dim i As Integer
    Dim pry As Long
    Dim strSQL As String
    Dim rs As New FBZNETDataObjec t.FBZNETData
    Dim bReturn As Boolean
    Private Sub Button1_Click(B yVal sender As System.Object, ByVal e As
    System.EventArg s) Handles
    Button1.Click
    PrintDoc = New Printing.PrintD ocument
    strSQL = "SELECT Volgnr, Opmerking, ToegewezenAan, DatumOpl " _
    & " FROM Taak "
    bReturn = rs.lezen(strSQL )
    PrintDoc.Print( )
    End Sub
    Private Sub PrintDoc_PrintP age(ByVal sender As Object, ByVal e As
    >
    System.Drawing. Printing.PrintP ageEventArgs)
    Handles PrintDoc.PrintP age
    afdruk.pageEven ts = e
    'Running over resultset
    Do While Not rs.EOF
    Afdrukken()
    'Take a new page when 15000 twips
    If pry 15000 Then
    e.HasMorePages = True
    pry = 500
    Exit Sub
    End If
    bReturn = rs.Volgende
    Loop
    e.HasMorePages = False
    End Sub
    >
    Private Sub Afdrukken()
    afdruk.Tekst(50 0, pry, rs.Waarde("Volg nr"))
    pry = pry + 500
    afdruk.Tekst(50 0, pry, rs.Waarde("opme rking"))
    pry = pry + 500
    'Take a new page when 15000
    If pry 15000 Then
    'Here i want a pagebreak !!!!!
    End If
    afdruk.Tekst(50 0, pry, rs.Waarde("Toeg ewezenAan"))
    pry = pry + 500
    afdruk.Tekst(50 0, pry, rs.Waarde("Datu mOpl"))
    pry = pry + 500
    End Sub
    >

    Comment

    Working...