Robert Gracie
robert at servicexp.com
Fri Jan 20 23:33:41 CST 2006
The best approach is to allow the users to set up the print formatting
requirements, and store those settings in a table... Something like this
Pulled from my Reports class, so hopefully you will get the idea.... Oh
and there is a BUNCH more you can do, this is just a very small example
Public Function BuildAccessReport() As Boolean
Dim RecordSuccBol As Boolean
Dim ePrintTo As acView
On Error GoTo HandleErr
If AccessReport = True Then
If m_ePrintTo <> cOutputToPrinter Then
ePrintTo = acViewPreview
End If
DoCmd.OpenReport m_sReportName, acViewPreview, "", SQL, acHidden
Set A2KReport = Access.Reports(m_sReportName)
With Access.Reports(m_sReportName)
'If printing to the default printer, there is no need to set the
property
If m_sPrinterName <> "{System Default}" Then
Set A2KReport.Printer = Application.Printers(m_sPrinterName)
End If
.Printer.LeftMargin = m_dLeftMargin * TwipsPerInch
.Printer.RightMargin = m_dRightMargin * TwipsPerInch
.Printer.TopMargin = m_dTopMargin * TwipsPerInch
.Printer.BottomMargin = m_dBottomMargin * TwipsPerInch
If m_eOrientation = cLandscape Then
.Printer.Orientation = acPRORLandscape
Else
.Printer.Orientation = acPRORPortrait
End If
.Printer.Copies = m_lCopies
End With
DoCmd.OpenReport m_sReportName, ePrintTo
If ePrintTo <> acViewPreview Then
DoCmd.Close acReport, m_sReportName
End If
If m_bPrintSuc = True Then
If PrintRecords(Now, 0, "Printed From: " & m_sCallingForm, m_lRN,
m_lCID) = False Then
Call ErrorRecordSystem(0, "Print Error", Now, "Failed Record Print
Un-Expected Error In Proc; " & m_sCallingForm, CurrentUser)
End If
End If
End If
ExitHere:
Exit Function
HandleErr:
Select Case Err.Number
Case Else
'MsgBox Err.BuildError("clsrptReport","BuildAccessReport"),
vbCritical, "Un-Expected Error"
MsgBox "There has been an error in Procedure:
clsrptReport:BuildAccessReport " & vbCrLf & _
"Error Number: " & Err.Number & vbCrLf & "Error Description: "
& Err.Description & vbCrLf & _
"Please Contact " & "The SoftwareVendor" & " for more help
regarding this error. ", vbCritical, "Un-Expected Error"
Call ErrorRecordSystem(Err.Number, Err.Description, Now,
"Un-Expected Error In Proc; " & "clsrptReport:BuildAccessReport ",
CurrentUser)
End Select
End Function
Robert Gracie
www.servicexp.com
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Vinnie Chas
Sent: Friday, January 20, 2006 10:45 PM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] Change report marprint margins at runtime (Access
XP )
Currently I have the report to print straight to the printer. I can
change it to preview to accomplish this. But is it possible to save the
margin settings to a table and then have the report use those so?
>>Oh yes the particular report needs to be in preview mode, then set and
>>it
will remain as
>>long as the app is open.
>>Bill
>Hi Group,
>Access XP mde on windows XP machine
>Is there a way to change a reports print margin at runtime? I have a
>custom print job to print W2's, W3's 1099's. On the development machine
>all text aligns correctly on preprinted forms. When I roll out the mde
>to clients
I'm
>finding that depending on their printer, it doesn't line up correctly.
>I then have to a just the reports margins for each individual customer.
>I
know
>I can do this in a mdb but a mde? Is this possible?
>TIA
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com