Newsgroup: it.comp.appl.access
Titolo: Finestra dialogo stampante.

Se faccio un pulsante con il quale stampo un report, come faccio a far
apparire prima della stampa la finestra della scelta stampante o quella
dell'impostazione dei margini?
Grazie.
Michele

 dell'impostazione dei margini?
Utilizzi Access 'XP?

 dell'impostazione dei margini?
DoCmd.OpenReport "TuoReport", acViewPreview
RunCommand acCmdPrint
-- 
HTH
Karl
*********
Access-FAQ (tedesco): 
http://www.donkarl.com

 RunCommand acCmdPrint
E' una soluzione a metà: fattibile solo e passa per l'anteprima.
Avesse la possibilità d'usare l'oggetto Printer (A 'XP)  può risolvere
esaustivamente.
Ciao: Silvio

 Ciao: Silvio
Anche 2k attraverso PrtDevMode.
Se impari a domarlo č simpatico
MAssimiliano

 Se impari a domarlo č simpatico
Ma funziona a Design Time, non a Runtime...


E qual'è il problema, tu lanci il design time lo prepari e poi lo stampi.
Ti faccio un esempio
con delle variazioni strappate via
Modulo Imposta pagina
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 ImpostaPagina(rptNome As String)
    Dim StringaPer As str_DEVMODE
    Dim DM As type_DEVMODE
    Dim strModalitàExtraPer As String
    Dim rpt As report
    Dim Lungh As Integer
    Dim Largh As Integer
    Dim ori As String
    DoCmd.OpenReport rptNome, acDesign
    Set rpt = Reports(rptNome)
    Lungh = Forms!dimensioniFoglio!Lunghezza
    Largh = Forms!dimensioniFoglio!larghezza
    ori = Forms!dimensioniFoglio!Orientamento
           strModalitàExtraPer = rpt.PrtDevMode
           StringaPer.RGB = strModalitàExtraPer
           LSet DM = StringaPer
            DM.lngCampi = DM.lngCampi Or DM.intDimensFoglio Or
DM.intLunghezzaFoglio _
                Or DM.intLarghezzaFoglio
            DM.intDimensFoglio = 256
            DM.intOrientamento = ori
            DM.intLunghezzaFoglio = Lungh * 256
            DM.intLarghezzaFoglio = Largh * 256
            LSet StringaPer = DM
            Mid(strModalitàExtraPer, 1, 94) = StringaPer.RGB
            rpt.PrtDevMode = strModalitàExtraPer
End Sub
Dalla maschera
Private Sub VerificaFoglio_Click()
On Error GoTo Err_VerificaFoglio_Click
    Dim stDocName As String
    ImpostaPagina ("Foglio")
    stDocName = "Foglio"
    DoCmd.OpenReport stDocName, acPreview
Exit_VerificaFoglio_Click:
    Exit Sub
Err_VerificaFoglio_Click:
    MsgBox err.Description
    Resume Exit_VerificaFoglio_Click
End Sub
Fammi sapere
MAssimiliano

 Ma funziona a Design Time, non a Runtime...
Aggiungo che non è modificabile negli MDE e ADE.
-- 
Gabriele Bertolucci
PBsoft 
www.pbsoft.it

 E qual'è il problema, tu lanci il design time lo prepari e poi lo stampi.
(cut)
E' un grosso problema: l'apertura a Design Time non è consentita in un .MDE.
Microsoft a grande richiesta introdusse l'oggetto Printer in Access 'XP ...
gli esempi sulla kb di utilizzo di PrtDevMode non bastavano più a chi avesse
esigenza di consentire la modifica dei margini ai proprio utenti.
Distribuire applicazioni in formato .mdb comporta una moltitudine di
problemi, e non tanto per la visibilità del codice.
Ti saluto.

 Aggiungo che non è modificabile negli MDE e ADE.
Aggiunta superflua: le due cose sono conseguenti  :-)