'*******************************************************************************
' DOREPORT1 (SUB)
'
' DESCRIPTION:
' PREVIEW EMPLOYEE LISTING
'*******************************************************************************
Private Sub DOREPORT1(OutputMode As Integer)
Me.MousePointer = vbHourglass
Set SWBPrintEngine = New SWBPrinter
SWBPrintEngine.BeginDoc
SWBPrintEngine.ScaleMode = vbTwips
SWBPrintEngine.Orientation = vbPRORPortrait
SWBPrintEngine.ShowPreviewSave = False
SWBPrintEngine.ZoomPercent = -2
SWBPrintEngine.CloseButtonCaption = "Close Preview"
SWBPrintEngine.ShowProgress = False
' KILLS OFF CANCEL OFF PRINT
SWBPrintEngine.ShowPrintDialog = False
SWBPrintEngine.DefaultPrinter = Printer.DeviceName
SWBPrintEngine.PrintCopies = 1
SWBPrintEngine.PrintFromPage = 1
SWBPrintEngine.PrintToPage = 10000
' START THE PRINT ROUTINE
Dim TROWS, DPAGES, IPAGES, TPAGES, ENDNUM As Long
Dim X As Integer
Dim Y As Integer
Dim NXTROW As Integer
' DETERMINES NUMBER OF RECORDS DIVISIBLE BY 40 AND REMAINDER
' COLUMN HEADINGS AND BLANK LINE
TROWS = Me.MSFlexGrid1.Rows - 1
' 35 LINES PER SHEET
DPAGES = TROWS / 35
IPAGES = Int(DPAGES)
' DETERMINE NUMBER OF PAGES FOR PRINT
If DPAGES - IPAGES = 0 Then
TPAGES = DPAGES
Else
TPAGES = IPAGES + 1
End If
' SETUP GLOBAL FOR PRINTER
SWBPrintEngine.SetFont "TAHOMA", 10, 0
' BEGIN LOOP FOR PAGES
For X = 1 To TPAGES
' BEGIN HEADER INFORMATION
SWBPrintEngine.SetFont "TAHOMA", 12, 1 + 4
SWBPrintEngine.ImageOut STRGBLSTTYPPATH & "STLogoBW.bmp", 400, 350, 1300, 900
SWBPrintEngine.Y = 400
SWBPrintEngine.TextOut 1850, "Employee Listing"
SWBPrintEngine.Y = 725
SWBPrintEngine.TextOut 1850, "(" & Mid(Me.lblBold(0).Caption, 20, 1000) & ")"
' FONT CHANGE ===========================
SWBPrintEngine.SetFont "TAHOMA", 9, 0
SWBPrintEngine.Y = 1100
SWBPrintEngine.TextOut 1850, "as of : " & Now
' FONT CHANGE ===========================
SWBPrintEngine.SetFont "TAHOMA", 9, 2
' BOX FOR LOCATION INFO
SWBPrintEngine.BoxOut 5400, 450, 11800, 1850
' FONT CHANGE ===========================
SWBPrintEngine.SetFont "TAHOMA", 9, 2
SWBPrintEngine.Y = 600
SWBPrintEngine.TextOut 5600, "Location:"
' FONT CHANGE ===========================
SWBPrintEngine.SetFont "TAHOMA", 9, 0
SWBPrintEngine.Y = 600
SWBPrintEngine.TextOut 6800, GBLLOCATID
SWBPrintEngine.Y = 900
SWBPrintEngine.TextOut 6800, GBLPROJECT
SWBPrintEngine.Y = 1200
SWBPrintEngine.TextOut 6800, GBLPADDRESS
SWBPrintEngine.Y = 1500
SWBPrintEngine.TextOut 6800, GBLPCITYSTATE & " " & GBLPZIP
' BOX TO WRAP EMPLOYEES
SWBPrintEngine.BoxOut 450, 2200, 11800, 14600
' PRINT COLUMN HEADINGS
' LINE NUMBER
SWBPrintEngine.Y = 2450
SWBPrintEngine.TextOut 600, "No."
' EMPLOYEE NAME
SWBPrintEngine.Y = 2450
SWBPrintEngine.TextOut 1700, "Employee Full Name"
' SSN
SWBPrintEngine.Y = 2450
SWBPrintEngine.TextOut 4700, "Work ID / S.S.N."
' ECODE
SWBPrintEngine.Y = 2450
SWBPrintEngine.TextOut 6800, "Pay Class"
' ENTRY TYPE
SWBPrintEngine.Y = 2450
SWBPrintEngine.TextOut 8700, "Work Status"
SWBPrintEngine.SetFont "TAHOMA", 9, 0
' DETERMINES WHERE TO STOP THE LOOP
If X = TPAGES Then
ENDNUM = TROWS
Else
ENDNUM = 35 * X
End If
' FOR LOOP TO CREATE PAGES TO PRINT
' (35 INDICATES NUMBER OF RECORDS TO PRINT ON PAGE)
For Y = 1 + (35 * (X - 1)) To ENDNUM
' DETERMINES WHERE TO SET CURRENTY POSITION W/ REGARD TO NEXT SHEET
If X > 1 Then
NXTROW = 335 * (Y - (35 * (X - 1)))
Else
NXTROW = 335 * Y
End If
' BUILDS THE TABLE DETERMINED BY CURRENTX AND CURRENTY,
' ALONG WITH ROW AND SHEET CONSIDERATION
' LINE NUMBER
SWBPrintEngine.Y = 2500 + NXTROW
SWBPrintEngine.TextOut 600, Y
' EMPLOYEE NAME
SWBPrintEngine.Y = 2500 + NXTROW
SWBPrintEngine.TextOut 1700, Me.MSFlexGrid1.TextMatrix(Y, 1)
' SSN
SWBPrintEngine.Y = 2500 + NXTROW
SWBPrintEngine.TextOut 4700, Me.MSFlexGrid1.TextMatrix(Y, 2)
' ECODE
SWBPrintEngine.Y = 2500 + NXTROW
SWBPrintEngine.TextOut 6800, Me.MSFlexGrid1.TextMatrix(Y, 3)
' ENTRY TYPE
SWBPrintEngine.Y = 2500 + NXTROW
SWBPrintEngine.TextOut 8700, Me.MSFlexGrid1.TextMatrix(Y, 4)
Next Y
' BOX FOR STATUS
SWBPrintEngine.BoxOut 450, 15000, 11800, 15400
SWBPrintEngine.SetFont "TAHOMA", 9, 0
' PRINT FOOTER INFO
SWBPrintEngine.Y = 15100
SWBPrintEngine.TextOut 600, COPYRIGHTNOTICE
SWBPrintEngine.Y = 15100
SWBPrintEngine.TextOut 10500, "Page " & X & " of " & TPAGES
If X <> TPAGES Then
SWBPrintEngine.NewPage
End If
Next X
SWBPrintEngine.EndDoc
' DETERMINE WHETHER TO PRINT OR PREVIEW
If (OutputMode = PREVIEW_REPORT) Then
SWBPrintEngine.PreviewReport
Else
SWBPrintEngine.PrintReport
End If
Me.MousePointer = vbDefault
End Sub