Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 32
  1. #1

    [Access]impostare pagina da VBA

    Salve a tutti,
    come si deduce dal titolo vorrei che all'apertura d ogni report fosse impostato il seguente formato:
    Carta: letter ( e nn A4)....con ke comando (codice)posso agire?

    la necessità è sorta perkè impostando da imposta pagina...delle volte si autoimposta e bisogna reimpostre la pagina!

    Grazie

  2. #2
    Devi usare la proprietà PrtDevMode dell'oggetto Report.
    Consulta la guida perchè la faccenda è un po' complessa.

    Ciao!

  3. #3

  4. #4
    [supersaibal]Originariamente inviato da VanessaInfo
    up [/supersaibal]
    Non si uppa quando il thread esce dalla pagina...? :master:

  5. #5
    cosa?
    io uppo qdo nessuno ripsonde.prb.te hai fatto rpima tu...e nn ti ho visto..scusa e grazie per il suggerimento..

    VaneX

  6. #6
    prtdevmode...mi dice che è possibile solo in mod-tà struttura....

  7. #7
    Utente di HTML.it L'avatar di seclimar
    Registrato dal
    Sep 2002
    Messaggi
    21,042
    immagino che se crei il report quando hai selezionato una stampante di default con LETTER impostato
    ... il layout del report sara' letter



    alla fine pero' ... il formato fisico della carta... non dipende da access... ma dipende dai driver della stampante...
    quindi se porti l'applicazione su un altro pc...
    bisognerà dare uno sguardo alle impostazioni stampante

  8. #8
    La guida fa questo esempio, penso che tu riesca a personalizzartelo.

    Esempio di proprietà PrtDevMode

    Nell'esempio riportato di seguito la proprietà PrtDevMode viene utilizzata per controllare le dimensioni della pagina definite dall'utente per un report.
    codice:
    Type str_DEVMODE
        RGB As String * 94
    End Type
    
    Type type_DEVMODE
        strNomeDispositivo As String * 16
        intVersioneSpec As Integer
        intVersioneDriver As Integer
        intDimensione As Integer
        intDriverExtra As Integer
        lngCampi As Long
        intOrientamento As Integer
        intDimensFoglio As Integer
        intLunghezzaFoglio As Integer
        intLarghezzaFoglio As Integer
        intScala As Integer
        intCopie As Integer
        intOriginePredef As Integer
        intQualitàStampa As Integer
        intColore As Integer
        intDuplex As Integer
        intRisoluzione As Integer
        intOpzioneTT As Integer
        intFascicola As Integer
        strNomeMaschera As String * 16
        lngTitolo As Long
        lngBit As Long
        lngPW As Long
        lngPH As Long
        lngDFI As Long
        lngDFr As Long
    End Type
    
    Sub ControllaPaginaPersonalizzata(rptNome As String)
        Dim StringaPer As str_DEVMODE
        Dim DM As type_DEVMODE
        Dim strModalitàExtraPer As String
        Dim rpt As Report
        Dim intRisposta As Integer
        ' Apre il report in visualizzazione Struttura.
        DoCmd.OpenReport rptNome, acDesign
        Set rpt = Reports(rptNome)
        If Not IsNull(rpt.PrtDevMode) Then
            strModalitàExtraPer = rpt.PrtDevMode   
            ' Fornisce struttura DEVMODE corrente.
            StringaPer.RGB = strModalitàExtraPer
            LSet DM = StringaPer
            If DM.intDimensFoglio = 256 Then
                ' Visualizza dimensioni definite da utente.
                intRisposta = MsgBox("Le dimensioni personalizzate correnti della pagina sono " _
                    & DM.intLarghezzaFoglio / 254 & " cm di larghezza per " _
                    & DM.intLunghezzaFoglio / 254 & " cm di lunghezza. Si desidera " _
                    & "modificare le impostazioni?", 4)
            Else
                ' Correntemente non definito da utente.
                intRisposta = MsgBox("Il report non ha le dimensioni di pagina personalizzate. " _
                    & "Si desidera definirle?", 4)
            End If
            If intRisposta = 6 Then
                ' Utente desidera modificare impostazioni.
                ' Inizializza campi.
                DM.lngCampi = DM.lngCampi Or DM.intDimensFoglio Or DM.intLunghezzaFoglio _
                    Or DM.intLarghezzaFoglio
                DM.intDimensFoglio = 256        ' Imposta pagina personalizzata.
                ' Richiede lunghezza e larghezza.
                DM.intLunghezzaFoglio = InputBox("Immettere la lunghezza della pagina " _
                    & "in cm.") * 254
                DM.intLarghezzaFoglio = InputBox("Immettere la larghezza della pagina " _
                    & "in cm.") * 254
                LSet StringaPer = DM        ' Aggiorna la proprietà.
                Mid(strModalitàExtraPer, 1, 94) = StringaPer.RGB
                rpt.PrtDevMode = strModalitàExtraPer
            End If
        End If
    End Sub

  9. #9
    grazie...in igni caso mi serve definire la pagina indipendentemente dalla stampante...era porpio qsto il mio problema...
    VaneX

  10. #10
    Se non leggo male, infatti, nel codice che ho postato il report viene aperto in modalità struttura. Tu puoi modificare il codice in modo che:
    - dopo l'apertura in modalità struttura le dimensioni della pagina vengano impostate come tu preferisci;
    - il report venga salvato;
    - il report venga chiuso (è ancora in modalità struttura);
    - il report venga riaperto pronto per essere visualizzato/stampato.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.