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