[AccessD] PRTDEVMODE a request to check code.....

Charlotte Foust cfoust at infostatsystems.com
Thu Jan 30 19:12:00 CST 2003


Make sure you have at least service pack 2 installed on Win 2k.  I
believe there are some known issues with Win2k and printers, although
I've never encountered them personally.

Charlotte Foust

-----Original Message-----
From: Tom Keatley [mailto:tom at piedpiper.com.au] 
Sent: Thursday, January 30, 2003 4:49 PM
To: accessd at databaseadvisors.com
Subject: [AccessD] PRTDEVMODE a request to check code.....


Hi all...

I have made posts over the last few days ALL concerning Access reports
slipping into LETTERSIZE when they should be A4. You guys have made
various suggestions (thanks) mostly concerning the use of the PRTDEVMODE
property.

The problem is ....I have been using that for some time ....I am
migrating this database from Win95 to Win2000 and the problem didnt
appear to be there in Win95. I send single page reports at the rate of
one every couple of seconds and there could be a hundred reports in a
single session. The problem of slipping into lettersize may happen on
the 1st or the 50th.

Desperation is beginning to creep in as I am starting to feel I will
never solve this one and I will have to stick with Win95 with this DB

I would really appreciate it if someone could have a look at the code I
am using to see if there are any possible problems that could cause this
occasional dropout......please find code below

Thanks in advance

Regards

Tom Keatley

Option Compare Database
Option Explicit

' Code for PrtDevMode property.
==========================================
Type str_DEVMODE
    RGB As String * 94
End Type

Type type_DEVMODE
    strDeviceName As String * 16
    intSpecVersion As Integer
    intDriverVersion As Integer
    intSize As Integer
    intDriverExtra As Integer
    lngFields As Long
    intOrientation As Integer
    intPaperSize As Integer
    intPaperLength As Integer
    intPaperWidth As Integer
    intScale As Integer
    intCopies As Integer
    intDefaultSource As Integer
    intPrintQuality As Integer
    intColor As Integer
    intDuplex As Integer
    intResolution As Integer
    intTTOption As Integer
    intCollate As Integer
    strFormName As String * 16
    lngPad As Long
    lngBits As Long
    lngPW As Long
    lngPH As Long
    lngDFI As Long
    lngDFr As Long
End Type


Sub chgDEvmode(ByVal strReportName As String, ByVal intCopies As Integer
)
    Dim DevString As str_DEVMODE
    Dim DM As type_DEVMODE
    Dim strDevModeExtra As String
    Dim rpt As Report

    Echo (False)
    DoCmd.OpenReport strReportName, acDesign

    Set rpt = Reports(strReportName)

    If Not IsNull(rpt.PrtDevMode) Then
        strDevModeExtra = rpt.PrtDevMode
        DevString.RGB = strDevModeExtra
        LSet DM = DevString
        DM.intPaperSize = 9 'intUserPaperSize
        DM.intCopies = intCopies
        DM.lngFields = DM.lngFields Or DM.intPaperSize Or DM.intCopies
        LSet DevString = DM
        Mid(strDevModeExtra, 1, 94) = DevString.RGB
        rpt.PrtDevMode = strDevModeExtra
    End If
    DoCmd.Close acReport, strReportName, acSaveYes
    Echo (True)
    Set rpt = Nothing
End Sub

_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



More information about the AccessD mailing list