Newsgroup: it.comp.appl.access
Titolo: Come 'impostare' il nome job stampa che si vede nello spooler stampa?

Quando invio un report in stampa, nell spooler la stampa si vede col nome 
del report
Ad esempio se mando in stampa rptFATTURE con dentro la fattura n.12 del 
2012, nello spooler si vede rptFATTURE
Mi piacerebbe che si vedesse  rptFattura_12_del_2012, 
rptFattura_13_del_2012,  rptFattura_14_del_2012.....
C'e' modo di farlo ?
Ciao e grazie
RobertoA
 
 

Ciao!
 
Così, al volo, mi vien da pensare a qualcosa di questo tipo, ma magari qualcuno più bravo tira fuori dal cilindro maggico qualche cosa di più bello ;)
 
docmd.CopyObject ,"rptFattura_12_del_2012", acReport, "rptFATTURE"
 
docmd.openreport "rptFattura_12_del_2012",acViewNormal
 
do while (application.currentproject.allreports("rptFattura_12_del_2012").isloaded=true)
    doevents
loop
docmd.close acReport, "rptFattura_12_del_2012", acSaveNo
 
docmd.deleteobject acReport, "rptFattura_12_del_2012"
 
HTH
Popi


Non bastava un RENAME dell'oggetto...?
 
Il Driver dello Spooler è un'oggetto intermedio(tra la chiamata fatta
da VBA in questo caso ed il Driver della Stampante) che riceve il Nome
del JOB dalla chiamata di STAMPA lo spippola e lo manda
al Driver della Stampante.
Intromettersi in questo processo non è affatto scontato, e
personalmente non so se sia possibile farlo in scrittura.
 
La soluzione è solo una:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd162861%28v=vs.85%29.aspx
 
http://msdn.microsoft.com/en-us/library/windows/desktop/dd162864%28v=vs.85%29.aspx
 
in quest'ultimo vedere la struttura JOB_INFO1 trovi il Parametro nella
struttura:
 
pDocument
    A pointer to a null-terminated string that specifies the name of
the print job (for example, "MS-WORD: Review.doc").
 
ritengo tuttavia che la richiesta superi di gran lunga la fattibilità
o almeno il tempo richiesto per attuarla, pur essendo questa
fattibile.
 
La cosa più pulita sarebbe creare una Classe che andandosi a ciclare i
JOBS con la chiamata(API) EnumJobs vada a puntare al JOB specifico.
A quel punto popolando la Variabile Strutturata di tipo JOB_INFO1 con
un GetJob, si va a modificare il Parametro specifico del Nome e con
SetJob si va a salvare
la modifica.
Purtroppo ci si inserisce anche in una gestione Asincrona... quindi
realmente ci sarebbe da farla diventare SINCRONA...
 
bla...bla...bla...
 
Buon lavoro.
@Alex

Ciao Alex!
 
Ma no, dai, così se salta la luce al massimo ho una copia in più
del report, altrimenti chi se lo va a recuperare se è rinominato? ;)
 
Popi


Ho trovato questo Sito che qualche spunto in più lo da...
 
http://pubs.logicalexpressions.com/pub0009/lpmarticle.asp?id=183
 
 
Credo che invece di ipotissare il SETJOB ci sia da lavorare con il
CopyMemory per andare a sovrascrivere l'area di memoria nella quale
sono salvate le JOBINFO_1....
 
Da provare...
 
@Alex

 ha scritto nel messaggio 
news:4957117.645.1326201340674.JavaMail.geo-discussion-forums@yqdj19...
Ciao Alex!
 
Ma no, dai, cosě se salta la luce al massimo ho una copia in piů
del report, altrimenti chi se lo va a recuperare se č rinominato? ;)
Popi
------------------------------------
 
Uso  
newsgate.x-privat.org
   come news server, Outlook Express 6 come news 
reader
Sapreste dirmi come mai di questo 3d vedo solo due messaggi mentre se vado 
via browser su
http://usenet.it.rooar.com/showthread.php?t=7188224
 
ne vedo quattro (quelli di Alex non li vedo col mio news reader)?
Ho gia' verificato sulle regole impostate su Oulook Express e non c'e' 
niente relativamente al mittente Alex
Ciao e grazie
RobertoA
 
 

 ha scritto nel messaggio 
news:4f0c17a1$1...@newsgate.x-privat.org...

Forse mi sbaglio sul funzionamento a runtime ma a me questo codice funziona 
alla grande.
Da un pulsante su di una maschera faccio partire la stampa del report 
"TBlOre", cambio la caption del report
e tutto funziona, anche lo "spooler"
 
Dim stDocName As String
 
    stDocName = "TBlOre"
    DoCmd.OpenReport stDocName, acPreview
    Reports!TblOre.Caption = "rptFattura_12_del_2012"
    DoCmd.OpenReport stDocName, acViewNormal
 
Ciao, Carlo
 
 
 

 Ciao, Carlo
 
Si bella cosa Carlo... il Caption è la cosa più semplice.
 
Io preferisco le API... ;-)
 
@Alex

 ha scritto nel messaggio 
news:jehofq$hjl$1...@tdi.cu.mi.it...

Si, non ci avevo pensato, basta aprire il report e si puo' modificarne la 
caption
Lo schermo 'sbampola' un poco per l'apparizione anteprima, ma diciamo che 
potrebbe anche andare
Meglio sarebbe, se si potesse fare la modifica caption report, senza 
visualizzare niente a schermo
Ciao e grazie
RobertoA
 
 


 
Su dai basta un po' di codice:
    Dim stDocName As String
 
    stDocName = "TuoNomeReport"
    DoCmd.OpenReport stDocName, acPreview, , , acHidden
    Reports!TuoNomeReport.Caption = "QuelloCheVuoiAnche letto da una 
variabileGlobale"
    DoCmd.OpenReport stDocName, acViewNormal
    DoCmd.Close acReport, "TuoNomeReport"
 
Ciao, Carlo