Newsgroup: it.comp.appl.access
Titolo: Report stampati

Buon giorno a tutti
Qualcuno sa dirmi se esiste un modo sapere se un report è già stato
stampato?
Mi spiego meglio: nel mio database ho la maschera Risposte esami, una
volta compilati tutti i campi ho un pulsante che mi apre, tramite un
filtro, l'anteprima di stampa report del record di cui ho appena
inserito i risultati . Vorrei che se il report di quel record è già
stato inserito mi comparisse una finestra di messaggio del tipo "Record
già stampato".
Non so se sono stata chiara....
Comunque grazie!!!

 ha scritto nel messaggio 
news:1169206468....@11g2000cwr.googlegroups.com...


Comunque grazie!!!
[Risposta]
Ciao,
se il messaggio deve nascere da un dato archiviato, nel senso che 
allorquando un report è stato stampato deve essere sempre riconosciuto come 
tale da chiunque ed in qualunque momento, dovresti archiviare magari il 
valore del filtro in una tabella (es. reportstampati) e quindi dietro al 
click del pulsante la procedura x archiviare il valore del filtro nella 
tabella e se codesto esiste un msgbox con il messaggino altrimenti lo 
visualizzi in anteprima...altree idee non me ne vengono...che ne pensi? 

 ha scritto nel messaggio 
news:1169206468....@11g2000cwr.googlegroups.com...


Comunque grazie!!!
-----------------------------------------
Normalmente non è possibile, non esiste un database nel database che 
monitorizza le stampe...
Potresti ricorrere all'aggiunta di un campo alla tabella che alimenta il 
report e flaggarlo a true se il report va in stampa.
Questo va fatto con due righe di codice su stampa del report.
Il problema è che l'evento print si verifica anche quando apri il report in 
anteprima e, se l'utente lo chiude senza stamparlo, la procedura va comunque 
a scrivere true nel campo aggiunto...così se la stampa non va a buon fine 
per un errore della stampante.
Se invece non mostri il report in anteprima ma lo stampi direttamente per 
esempio da una maschera, corri meno rischi perchè quasi certamente la stampa 
va a buon fine. In questo caso il codice per flaggare a true il campo 
aggiunto lo puoi scrivere direttamente nella maschera, al clic del pulsante 
di stampa.
Ciao, Carlo

 maschera, al clic del pulsante di stampa.
-- 
cu
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 Ciao, Carlo

 ha scritto nel messaggio 
news:1169304145.8...@l53g2000cwa.googlegroups.com...







Apri il report in struttura, selezioni il PièDiPaginaReport e sull'evento 
"su stampa" scrivi:
suppongo tu abbia aggiunto il campo "Stampato" alla tabella...e che il campo 
chiave primaria si chiami ID, altrimenti l'adegui al tuo db:
Dim rcs As Recordset
Set rcs = CurrentDb.OpenRecordset("TuaTabella")
Dim IDX As Index
With rcs
rcs.Index = "PrimaryKey"
.Seek "=", Me.ID
.Edit
!Stampato = True
.Update
End With
rcs.close
set rcs = nothing
In questo modo solo se il report viene stampato effettivamente, il codice 
metterà la spunta. Se la carta si inceppa o se la stampa non va a buon 
fine...il codice scriverà ugualmente "Stampato" = true. Se invece l'utente 
visualizza il report ma non lo stampa, non succederà nulla.
Ciao, Carlo

Ti ringrazio per l'aiuto. Ci provo al più presto


 ha scritto nel messaggio 
news:1169410241.6...@51g2000cwl.googlegroups.com...
Ti ringrazio per l'aiuto. Ci provo al più presto
cut
Ricorda di scrivere dopo la risposta.... e non in testa come ora.
Facci sapere se hai risolto.
Ciao, Carlo

 Ciao, Carlo
Ai! ai! ai! trovo una marea di difficoltà con il codice. Proprio non
sono pratica. Potresti/e aiutarmi ancora?
Dim rcs As Recordset
Set rcs = CurrentDb.OpenRecordset("Crea report risposte")
'Crea report risposte è il nome della query filtrata da cui ha origine
il report. In questo punto mi da l'errore "errore di run-time 3061.
Parametri insufficienti. Previsto 1.
Dim IDX As Index
' Qui mi da l'errore "Tipo definito dall'utente non definito".
effettivamente la parola "Index" non mi compare nell'elenco dei tipi
disponibili.
With rcs
rcs.Index = "PrimaryKey"
.Seek = Me.Rapporto_di_parova
'Mi da l'errore "argomento non facoltativo"
.Edit
'Anche edit non è tra l'elenco di scelta rapita, ma ho solo EditMode
!Stampato = True
.Update 
End With 
rcs.close 
set rcs = nothing 
Help

 ha scritto nel messaggio 
news:1169811329.1...@s48g2000cws.googlegroups.com...
cut
Ai! ai! ai! trovo una marea di difficoltà con il codice. Proprio non
sono pratica. Potresti/e aiutarmi ancora?
Dim rcs As Recordset
Set rcs = CurrentDb.OpenRecordset("Crea report risposte")
'Crea report risposte è il nome della query filtrata da cui ha origine
il report. In questo punto mi da l'errore "errore di run-time 3061.
Parametri insufficienti. Previsto 1.
---------------------------------------
Qui la query richiede un parametro, un criterio che non riesce a recuperare 
o un criterio errato.
Dovresti aprire la query e vedere se nella riga dei criteri hai impostato 
qualcosa.
Dim IDX As Index
' Qui mi da l'errore "Tipo definito dall'utente non definito".
effettivamente la parola "Index" non mi compare nell'elenco dei tipi
disponibili.
With rcs
rcs.Index = "PrimaryKey"
.Seek = Me.Rapporto_di_parova
'Mi da l'errore "argomento non facoltativo"
.Edit
'Anche edit non è tra l'elenco di scelta rapita, ma ho solo EditMode
!Stampato = True
.Update
End With
rcs.close
set rcs = nothing
Help
--------------------------------
Probabilmente si tratta di riferimenti mancanti.
Apri un modulo qualsiasi e dal menu strumenti scegli riferimenti.
Qui dovrebbe comparire la spunta a "Microsoft DAO 3.x Object Library" e 
dovrebbe essere sistemato prima di ADO (Microsoft Activex Data Object...).
Se così non è seleziona il DAO dall'elenco (Microsoft DAO 3.x (meglio la 3.6 
o 3.51) e spuntalo. Chiudi e riapri i riferimenti. Con le freccette 
"priorità" imposta DAO prima di ADO. Tutto dovrebbe funzionare.
Ciao, Carlo