Newsgroup: it.comp.appl.access
Titolo: W98-A97 Report , intercettarne i messaggi

Per esempio se annullo la stampa , sull'evento "Su Report Vuoto" , tipo ..
Private Sub Report_NoData(Cancel As Integer)
    MsgBox " Inserire tutti i dati necessari :REPARTO,FIRMA,etc. NON ci sono
dati utili da stampare"
    Cancel = -1
End Sub
Access mi da una pappardella di roba tipo "Si è annullata la stampa etc etc
"" e il pulsante OK.
Pensavo di dare un solo messaggio ed evitare quello standard .. sapete mica
se si può ??
.... grazie
Ciao

 ha scritto nel messaggio
news:995eqg$nf1$1...@ftp-news.csita.unige.it...

Ho cercato di riprodurre la tua situazione:
- tabella vuota;
- report con base dati la tabella vuota;
- routine:
'-----------------
Private Sub Report_NoData(Cancel As Integer)
MsgBox "il report è vuoto!"
Cancel = -1
End Sub
'-----------------
In anteprima o stampa non mi presenta il messaggio "Si è annullata la
stampa....", né prima la msgbox né dopo...
Puoi descrivere in modo più dettagliata l'operazione che precede la
stampa/anteprima del report? Magari ti (o mi) sfugge qualcosa...
Ciao.


Certo : Maschera(dati anagrafici) con sottmask1(data esame,numero
esame,reparto richiedente con casella combinata risultato di una query su
tab REPARTI(127 sanitari e altrettanti non)) e
sottmask2A,sottomask2B,sottomask2C(tipi esame,legati alla sottomask1) .Via
pulsante lancio il rep1(REFERTO) che ha tre sottoreport ( risultati ,uno per
ogni esame eseguito ) per tre tabelle diverse . Il reportReferto ha come
origine una query che obbligatoriamente mi deve dare il numero ESAME (resta
legato a quel paziente , si parla anche di HIV(aids) .... ) per cui utilizzo
la tabella ANAGRAFICA uno a molti con ESAMI dove trovo il num esame, il
reparto richiedente e ....qui casca l'asino , se si omette questo dato il
repotREFERTO non deve essere stampato , e me ne accorgo dopo che è stato
ormai "formattato", cioè tardi , infatti l'errore dice:
"L'azione OpenReport è stata annullata .E' stato utilizzato un metodo
dell'oggetto Docmd per eseguire un'azione VisualBasic .......etc etc". Tu mi
dirai , ma non ti potevi chiedere prima della formattazione se i dati ci
sono tutti ??? HAI ragione .  Però oramai che ci siamo ... si può
intervenire per intercettare il/i messaggio/i  e magari sostituirlo con un
altro ??
Grazie della pazienza ( che ce ne vò ) e dell'interessamento.
Ciao
Marce


Piů che chiedere prima della formattazione, direi che se il campo "numero
esame" č vitale, dovresti bloccare l'utente alla pressione del bottone che
genera il report indicando la mancanza del dato. Cosě ti risparmi molte
grane, ti risparmi l'esecuzione delle query dei sottoreport e velocizzi un
po' il tutto; oltre al fatto che a parer mio mi sembra piů logico
controllare l'input prima di eseguire qualsiasi operazione non mentre la si
esegue...
Ciao.


In effetti era ciň che ti avevo risposto .E l'ho fatto anche seguendo il tuo
consiglio , ma scusa , mi č rimasto il tarlo del "come faccio ad
impedire/intervenire sui messaggi standard del report"???
Scusa , ciao e grazie ancora
Marce


Non so' che dirti; tu hai report+sottoreport, oltretutto piů di uno, e uno
dei sottoreport se interrompi la stampa di presenta il messaggio standard.
Mah! E' un problema che non mi pongo perché potrebbe non essere necessaria
una soluzione; pensandoci se viene interrotta un'operazione di stampa a me
sta' bene che appaia un messaggio indicando all'operatore che la stampa č
stata interrotta, ma solo se l'interruzione č volontaria (pressione
Annulla). Se invece l'errore č la mancanza di dati o comunque imputabile
alla completezza delle informazioni, lo verifico prima e lo blocco prima.
Riassumendo mi stanno bene alcuni messaggi standard, quando me ne servono
degli altri me li costruisco o li evito con dei controlli...
Ciao.


Grazie ancora, serve proprio tutto
A risentirci
Marce