Newsgroup: it.comp.appl.access
Titolo: IMPEDIRE LA STAMPA  di tutti i report

Buongiorno ,
 
Stò ultimando un database  in Access ,  vorrei  distribuire una versione demo in formato MDE ,  che impedisce  la stampa dei report .
 
1° Domanda :
 
Attulmente agisco su ogni singola Maschera o su ogni singolo report.
 
Vi chiedo se è possibile attraverso VBA  un settaggio generale  per impedire completamente la stampa .
 
 
2° Domanda  
 
Il massimo sarebbe poter permettere l'anteprima , ma impedire la stampa c'è modo di disabilitare i menu e i tasti rapidi esempio CTRL+P.  (Sia per versioni ante access2007 che post 2007
 
Grazie


Potresti farti una funzione MyOpenReport con gli stessi argomenti di OpenReport in un modulo pubblico. Imposti sempre a preview. Poi trova/sostituisci e sei a posto




Grazie 
 
quanto da te indicato  è una soluzione  alla mia domanda (1) non mi sembra risolvere la 2° DOMANDA


e intanto risolvi la prima no?!?!?!!??
Cmq per la seconda creati una macro Autoexe che intercetti a livello di ambiente i tasti e le combinazioni che ti serve impedire


Carissimo,
se un utente del newsgroup , chiede un aiuto, è evidente che non ha sufficienti competenze, è inutile e dannoso fare commenti , (allontani gli utenti dal newsgroup)  un altra cosa evita i toni saccenti da proffessore ,  che non lo sei , ritorno a dire lo scopo è diffondere l'informazione , non  rimproverare chi è  (forse meno preparato ) .
Dopo  questa filippica , sto testando alcune soluzioni tratte altri siti .
E sempre per il fine di diffondere la conoscenza , appena  avrò  testato le soluzioni proposte , riporterò la mia esperienza in questo newsgroup . Con la soluzione ....

Macché professore. E quando mai! Le soluzioni sono nel post. Ad entrambe le domande. Nella prima risposta non avevo visto la seconda domanda. E poi che ne sai.....magari la seconda non la sapevo no?? Cmq le soluzioni sono li. E funzionano 😁

 Macché professore. E quando mai! Le soluzioni sono nel post. Ad entrambe le domande. Nella prima risposta non avevo visto la seconda domanda. E poi che ne sai.....magari la seconda non la sapevo no?? Cmq le soluzioni sono li. E funzionano 😁
 
Buona ,
la soluzione Autoexec
 
rimane il problema di non visualizzare  Menu / ribbon  che  permettono di avviare comunque la stampa . 
 
Il tutto  sia che il Database  ( access 2000)  venga eseguito da  versioni ante 2007 o post 2007 .
 
Per ora ho trovato questo 
 
    DoCmd.ShowToolbar "Menu Bar", acToolbarNo
    DoCmd.ShowToolbar "Ribbon", acToolbarNo
 
 
DoCmd.SelectObject acTable, "MiaTabella", True
DoCmd.RunCommand acCmdWindowHide
 
 
Stò provando , varie situazioni.
 
saltare la stampa


Ti crei i menù personalizzati, sia ribbon che tasto destro. I Report li apri pop up (non si visualizza la barra) e nei tuoi menù, visto che li controlli da codice, impedisci la stampa. Tieni conto che se la preview la permetti, poi uno lo stampa, basta anche il cattura schermo...


Il database  è in Access 2000 ,  leggendo altri gruppi di accessisti esteri avevo letto il suggerimanto  di creare Menù personalizzati ,  che però (mi sembra ) non abbiano effetto se il db è aperto da Access >= 2007 .
e non vorrei creare  due versioni  una ante 2007 e una post .
 
I comandi DoCmd  di cui sopra mi sembrano funzionare . Proverò a rendere popup i report come consigli.
 
Per quanto riguarda il cattura schermo è accettabile ,  d'altronde lo scopo è di mostrare le funzionalità del programma , consentirne l'uso (il programma tramite VBA limita l'inserimento di record) 
 


In attesa di trovare una soluzione semplice che possa andare per tutte le versioni di Access.
 
Ho provato a limitare :
1) il n° di record visualizzabili / stampabili
2) il N° di IntestazionePagina visualizzabili / stampabili
3) il n° di Pagine stampabili
 
Caso 1 
nel Corpo del report , creo una 
casella di testo : txtCorpoCount
Origine Controllo:  = 1
Visibile:  No
Somma Parziale: Su tutto
Su Formattazione Corpo:
Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
Cancel = (Me.txtCorpoCount > 5) ' 5 è il N° record max
End Sub
 
Caso 2 
nel IntestazioneGruppo , creo una 
casella di testo : txtIntestazioneGruppoCount
Origine Controllo:  = 1
Visibile : No
Somma Parziale: Su tutto
Su Formattazione IntestazioneGruppo:
Private Sub IntestazioneGruppo_Format(Cancel As Integer, FormatCount As Integer)
Cancel = (Me.txtIntestazioneGruppoCount > 1) ' Limita al solo 1 Gruppo
End Sub
 
 
Caso 3
nel IntestazionePagina , creo una 
casella di testo : txtIntestazionePaginaCount
Origine Controllo:  = 1
Visibile : No
Somma Parziale: Su tutto
Su Formattazione IntestazionePagina:
Private Sub IntestazionePagina_Format(Cancel As Integer, FormatCount As Integer)
Cancel = (Me.txtIntestazionePaginaCount > 1) ' Limita alla sola 1 Pagina
End Sub
 
I 3 casi possono essere utilizzati insieme o singolarmente a seconda delle esigenze
 
 
Lo scopo torno a dirlo è :  creare un database demo che fornisce un idea delle stampe ,  ma ne limita il possibile utilizzo .
 
Grazie per chi volesse dare ulteriori contributi
Se qualcuno avesse altre idee 
 

 Se qualcuno avesse altre idee
 
Una variante semplice da impostare sarebbe fornire un MDE/ACCDE per 
proteggere le strutture e - invece di nascondere ribbon/barre e ridurre 
la funzionalità - solo aggiungere un immagine di fondo in tutti i report 
che mostra (non troppo filigrano) sul intero sito: "DEMO gratis" e/o il 
tuo nome.
 
-- 
Ciao
Karl
*********
http://www.AccessDevCon.com
 
Access FAQ: 
http://www.donkarl.com/it
 


Grazie
del consiglio , detto da un guru , mi fa sottointendere/capire che percorrere altre strade , potrebbe essere troppo complesso , o troppo dipendente dalla vesione di Msaccess
 
o sbaglio....
 
L'ultima soluzione che ho prospettato nel post precedente (limitare il n° record / raggruppamenti / pagine)  ha il difetto che deve essere applicata singolarmente ad ogni report  tenendo sonto che sono circa 90 , il lavoro non è da poco)