Newsgroup: it.comp.appl.access
Titolo: impedire la stampa se non risponde alle richieste

Ciao, ho questo problema, ma direi più che altro vorrei una finezza,
allora ho un pulsante di comando per report, nella maschera metto un
flag se voglio quel tipo di stampa o no,  ebbene vorrei che se il flag
non è attivato il report non mi si stampasse, e mi apparisse il
messaggio di impossibilità a stampare. invece il report mi si stampa
ugualmente ma privo di dati ovviamente perche la query riporta il
parametro del flag non attivo.Credo che sia una banalità ma è qualche
giorno che ci penso e non ne cavo un ragno dal buco. Per voi
sicuramente è semplicissimo

 ha scritto nel messaggio 
news:705e413c-52de-46a2...@x41g2000hsb.googlegroups.com...

-------------------------
Tutto è semplice quando si conosce l'argomento!
Una strada: agisci dal report, su apertura potresti scrivere:
If Forms!NomeMaschera!MioFlag = True Then Cancel = True
supponendo che hai un controllo "casella di controllo" sulla maschera 
"nomemaschera" che si chiama MioFlag e che sia impostata a True/Vero quando 
si cerca di stampare il report.
Il report non si aprirà nemmeno con la forza bruta.
Per aggiungere un messaggio...
If Forms!NomeMaschera!MioFlag = True Then
Msgbox "Il report non può essere stampato per questo e per quest'altro..."
Cancel = True
End if
Ciao, Carlo

 ha scritto nel messaggionews:705e413c-52de-46a2...@x41g2000hsb.googlegroups.com...

Intanto grazie per l'interessamento , ma non mi funziona, eppure ho
fatto come hai scritto tu:
Private Sub Report_Open(Cancel As Integer)
If Forms!NomeMaschera!MioFlag = True Then Cancel = True
End Sub
Tieni presente che il tutto è comandato da un pulsante di comando con
questo codice:
Private Sub Comando356_Click()
On Error GoTo Err_Comando356_Click
Dim stDocName As String
Dim rpt As Report
DoCmd.OpenReport "reportinvito", acViewPreview, , , acHidden
Set rpt = Reports![reportinvito]
With rpt.Printer
     .Copies = 2
End With
DoCmd.OpenReport "reportinvito", acViewNormal
DoCmd.Close acReport, "reportinvito", acSaveNo
Exit_Comando356_Click:
    Exit Sub
Err_Comando356_Click:
    MsgBox ("STAMPA ANNULLATA"), vbInformation, "ATTENZIONE!!"
    Resume Exit_Comando356_Click
End Sub
c'è qualche errore? come mai non funziona? Grazie per l'eventuale aiuto

 ha scritto nel messaggio 
news:c8a7bdf1-98ce-4373...@j22g2000hsf.googlegroups.com...







DoCmd.OpenReport "reportinvito", acViewNormal

Exit_Comando356_Click:
    Exit Sub

    Resume Exit_Comando356_Click
End Sub

------------------------------------------------
E' del tutto evidente che quando scrivo:
If Forms!NomeMaschera!MioFlag = True Then Cancel = True
intendo che devi opportunamente cambiare il nome della maschera e del 
controllo.
L'ipotesi, come scrivevo era...
supponendo che hai un controllo "casella di controllo" sulla maschera
"nomemaschera" che si chiama MioFlag e che sia impostata a True/Vero quando
si cerca di stampare il report.
Se tutto ciò è stato correttamente fatto, magari cambiando opportunamente i 
nomi, puoi stare traquillo che funziona.
Le mie domande:
Come si chiama la maschera?
Come si chiama, se lo hai, il controllo "casella di controllo" (quel 
quadratino che spuntato significa Sì e bianco significa No)?
Hai messo il codice su apertura del report?
Ciao, Carlo 

 End Sub
questo è quello che ho scritto.....
dimenticavo il report è comandato da una query dopo nel campo lettera
nei criteri c'è sì

 End Sub
questo č quello che ho scritto.....
dimenticavo il report č comandato da una query dopo nel campo lettera
nei criteri c'č sě
-----------------------------
Premesso che quest'ultima frase non l'ho proprio capita, il controllo 
"lettera" nella maschera, č una "casella di controllo"?
Se sě, risulta spuntata prima di far partire il report?
Ciao, Carlo

 Ciao, Carlo
Si il controllo lettera è una casella di controllo, ed è spuntata
quando la lettera deve essere stampata
l'origine record del Report è una query che fa si che scelga il
 numero del record che intendo stampare....quello che voglio evitare
io è che inserendo un numero errato mi stampi la pagina priva di dati
come fa adesso.....(te l'ho detto inizialmente si tratta di una
finezza perchè basta stare attenti al numero che si inserisce che si
evitano le pagine bianche)
Scusami per il tempo che ti faccio perdere.

 ha scritto
cut
.........
Si il controllo lettera è una casella di controllo, ed è spuntata
quando la lettera deve essere stampata
l'origine record del Report è una query che fa si che scelga il
 numero del record che intendo stampare....quello che voglio evitare
io è che inserendo un numero errato mi stampi la pagina priva di dati
come fa adesso.....(te l'ho detto inizialmente si tratta di una
finezza perchè basta stare attenti al numero che si inserisce che si
evitano le pagine bianche)
Scusami per il tempo che ti faccio perdere.
--------------------------------------
Devi metterti d'accordo con te stesso perchè hai scritto:
"...nella maschera metto un
flag se voglio quel tipo di stampa o no,  ebbene vorrei che se il flag
non è attivato il report non mi si stampasse"
Ora dici che vuoi evitare la stampa se il report è vuoto.
Comunque....se usi il flag nel modo che hai detto il codice va cambiato 
così:
If Forms![Maschera Inserimento]![lettera] = False Then Cancel = True
Se invece vuoi che il report non si apra se vuoto esiste una evento 
apposito.
Dimentica quello che abbiamo detto e semplicemente scrivi a fronte 
dell'evento "Su report vuoto":
Private Sub Report_NoData(Cancel As Integer)
MsgBox "Il report non contiene dati e verrà chiuso!"
Cancel = True
End Sub
Ciao, Carlo 

 ha scritto

Grazie!! Quello che volevo io è proprio l'opzione su report vuoto. Ho
provato anche l'altro ma non funziona...si vede che c'è qualche
comando che fa saltare l'opzione.Comunque va benissimo quello del
REPORT VUOTO Grazie ancora!!
Ciao Fabio

 ha scritto
....Comunque va benissimo quello del
REPORT VUOTO Grazie ancora!!
Ciao Fabio
Alleluia!
Ciao, Carlo