Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Scelta dell cassetto stampante da VB

43 views
Skip to first unread message

MICHELE

unread,
Jun 10, 2010, 12:54:35 PM6/10/10
to
Salve,
in un programma di stampe grafiche per as400 quando ricevo una
richiesta di stampa da un utente individuo il nome della stampante e
la rendo la stampante predefinita, poi lancio normlamente la stampa
nel seguente modo:

Dim stDocName As String
stDocName = nomereport
DoCmd.OpenReport stDocName, acNormal

Vi è la possibilità di scegliere il cassetto dal quale prelevare la
carta?
Non vorrei creare 4 REPORT identici uno per il cassetto 1 , uno per il
cassetto 2 , uno per il cassetto 3 e uno per il bypass

Grazie per l'attenzione

sv

unread,
Jun 11, 2010, 1:30:33 AM6/11/10
to
MICHELE ha scritto:

> Salve,
> in un programma di stampe grafiche per as400 quando ricevo una
> richiesta di stampa da un utente individuo il nome della stampante e
> la rendo la stampante predefinita, poi lancio normlamente la stampa
> nel seguente modo:

> Dim stDocName As String
> stDocName = nomereport
> DoCmd.OpenReport stDocName, acNormal

> Vi � la possibilit� di scegliere il cassetto dal quale prelevare la


> carta?
> Non vorrei creare 4 REPORT identici uno per il cassetto 1 , uno per il
> cassetto 2 , uno per il cassetto 3 e uno per il bypass

> Grazie per l'attenzione

Vedi:

www.donkarl.com/it?FAQ5.1

--
sv

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it


MICHELE

unread,
Jun 14, 2010, 7:15:55 AM6/14/10
to

> www.donkarl.com/it?FAQ5.1

Ti ringrazio,
ho provato nel seguente modo
1) ho creato la funzione:

Sub setPaperSource(rptName As String, CASSETTO As Integer)

Dim Rpt As Report
Dim dm As zwtDeviceMode
Dim DevString As zwtDevModeStr
Dim DevModeExtra As String


DoCmd.SetWarnings False
' Set Paper Tray for page 1
DoCmd.OpenReport rptName, acViewDesign
Set Rpt = Reports(rptName)
DevModeExtra = Rpt.PrtDevMode
DevString.RGB = DevModeExtra
LSet dm = DevString
dm.dmDefaultSource = CASSETTO ' è la variavile
contenente il numero del cassetto dal quale prelevare la carta.
LSet DevString = dm
Mid$(DevModeExtra, 1, 68) = DevString.RGB
Rpt.PrtDevMode = DevModeExtra
DoCmd.Save acReport, Rpt.Name
DoCmd.SelectObject acReport, Rpt.Name, True
DoCmd.PrintOut acPages, 1, 1
DoCmd.Close

End Sub


2) ho creato un pulsante
Private Sub Comando0_Click()
Call setPaperSource("PROVA CASSETTO", 2)
End Sub

Funziona correttamente ma con il run-time dà errore e si chiude
l'applicazione,
perchè non ha la possibilità di andare in modalità struttura del
report.
C'è un modo per modificare il codice leggermete senza andare in
modalità struttura.
Grazie per l'attenzione


sv

unread,
Jun 14, 2010, 12:29:17 PM6/14/10
to
MICHELE ha scritto:

> > www.donkarl.com/it?FAQ5.1

> End Sub

Non hai detto qual'è la tua versione di Access.
Da XP in poi c'è l'oggetto Printer..

Vedi:
http://support.microsoft.com/?kbid=284286

MICHELE

unread,
Jun 14, 2010, 1:28:08 PM6/14/10
to

> Non hai detto qual' la tua versione di Access.
> Da XP in poi c' l'oggetto Printer..
>
> Vedi:http://support.microsoft.com/?kbid=284286


Ti ringrazio ancora,
E' la seconda volta che leggo il tuo messaggio quando sono arrivato
alle tue conclusioni ...:-)
Non avevo letto l'articolo ma cercando nei vari post sono arrivato a
questo codice:

Sub SCEGLI_CASSETTO_E_STAMPA(rptName As String, CASSETTO As Integer)

Dim Rpt As Report

DoCmd.OpenReport rptName, acViewPreview, , , acHidden
Set Rpt = Reports(rptName)

With Rpt.Printer
.PaperBin = CASSETTO
End With

DoCmd.OpenReport rptName, acViewNormal
DoCmd.Close acReport, rptName, acSaveNo

End Sub

Private Sub Comando0_Click()
Call SCEGLI_CASSETTO_E_STAMPA("PROVA CASSETTO", 2)
End Sub

Questa funzione in una prima analisi sembra funzionare correttamente,
e verrà inserita in
un motorino di stampe grafiche per as400.
Vi è un modo per evitare che il report venga aperto o che venga aperto
in modo nascosto?
acHidden doveva nascondere il report..invece si apre e si chiude..
Ti ringrazio molto per la tua attenzione


Carlo Costarella

unread,
Jun 14, 2010, 2:02:36 PM6/14/10
to

"MICHELE" <mpa...@sis.it> ha scritto nel messaggio
news:4f753b94-44e0-4f4b...@b35g2000yqi.googlegroups.com...

> Non hai detto qual' la tua versione di Access.
> Da XP in poi c' l'oggetto Printer..
>
> Vedi:http://support.microsoft.com/?kbid=284286


Ti ringrazio ancora,
E' la seconda volta che leggo il tuo messaggio quando sono arrivato
alle tue conclusioni ...:-)
Non avevo letto l'articolo ma cercando nei vari post sono arrivato a
questo codice:

Sub SCEGLI_CASSETTO_E_STAMPA(rptName As String, CASSETTO As Integer)

Dim Rpt As Report

DoCmd.OpenReport rptName, acViewPreview, , , acHidden
Set Rpt = Reports(rptName)

With Rpt.Printer
.PaperBin = CASSETTO
End With

DoCmd.OpenReport rptName, acViewNormal
DoCmd.Close acReport, rptName, acSaveNo

End Sub

Private Sub Comando0_Click()
Call SCEGLI_CASSETTO_E_STAMPA("PROVA CASSETTO", 2)
End Sub

Questa funzione in una prima analisi sembra funzionare correttamente,

e verr� inserita in


un motorino di stampe grafiche per as400.

Vi � un modo per evitare che il report venga aperto o che venga aperto


in modo nascosto?
acHidden doveva nascondere il report..invece si apre e si chiude..
Ti ringrazio molto per la tua attenzione

-------------------------------------------
Prova solo ad iconizzare il report:
DoCmd.OpenReport rptName, acViewPreview, , , acIcon

Ciao, Carlo


MICHELE

unread,
Jun 16, 2010, 3:53:13 AM6/16/10
to

> Prova solo ad iconizzare il report:
> DoCmd.OpenReport rptName, acViewPreview, , , acIcon
>
> Ciao, Carlo

Purtroppo non cambia nulla... fa il solito lampo...( apre e chiude
rapidamente)
Grazie

0 new messages