Newsgroup: it.comp.appl.access
Titolo: Inserire un salto pagina da codice se quantita' maggiore di 0

Ciao a tutti
sto cercando di ottenere da codice quanto riportato in oggetto.
Ho una query con un campo quantita e mi piacerebbe che all'atto della 
formattazione del report quando un record ha quantita > 0, SOLO la prima 
volta che si verifica questa condizione, inserisca un'interruzione di 
pagina.
In sostanza vorrei avere uno o piu' fogli dove riporto tutte le quantita 
uguali a zero, poi un'interruzione di pagina e poi gli altri fogli con 
tutte le altre quantita'.
La query e' gia' ordinata in maniera crescente sul campo quantita.
Ovviamente potrei risolvere il problema aggiungendo sulla tabella 
(dovrei pero' modificare il BE) su cui e' basata la query un campo 
(fosse anche un campo si/no) in cui scrivere se il valore e' maggiore di 
zero e poi creare un'intestazione di gruppo per questo campo sul report.
Spero di essere stato chiaro nell'esposizione
grazie mille
ciao ciao
-- 
Enzo


C'è la possibilità del forcenewpage o qualcosa del genere, ma perchè invece
non fai due sottoreport diversi con il salto pagina
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

 non fai due sottoreport diversi con il salto pagina
Ciao MA,
innanzitutto grazie per la risposta.
I 2 sottoreport li avevi fatti ma non mi convincevano molto perche' 
sostanzialmente usavo la stessa query per fare la stessa cosa sui 2 
sottoreport (cambia solo un parametro nella clausola WHERE). Ragionavo 
anche in un'ottica di manutenzione del FE, dove qualora dovessi fare una 
modifica ad uno dei sottoreport dovrei farla anche all'altro visto che 
come detto prima sono e devono essere identici tranne il parametro nella 
clausola WHERE.
Ad ogni modo se non dovesse esserci una soluzione tornero' ai 2 sottoreport.
ciao e grazie mille ancora
-- 
Enzo


ciao,
hai gia trovato la soluzione, utilizza come condizione per il raggruppamento del report una formula che restituisca vero o falso a
seconda che il numero sia o meno maggiore di zero, tipo:
=if([NomeCampo]>0;True;False)
o più semplicemente
=[NomeCampo]>0
ciao
Mat.



C'è la soluzione, forcenewpage. L'helpè molto chiaro in merito


 C'è la soluzione, forcenewpage. L'helpè molto chiaro in merito
trovata, ma o non sono capace di farla funzionare o purtroppo non c'e' 
modo di fargli fare quello che voglio
Nel corpo del report ho scritto questo codice
     If Me.txtQuantita > 0 Then
         If intUnaInterruzione = 0 Then
             Me.Section(acDetail).ForceNewPage = 1
             intUnaInterruzione = 1
             Else
             Me.Section(acDetail).ForceNewPage = 0
         End If
     End If
Se non ho scritto boiate l'interruzione di pagina dovrebbe verificarsi 
solo la prima volta che viene trovata una txtQuantita > 0 perche' in 
quel caso viene settato la variabile intUnaInterruzione = 1 e dovrebbe 
impedire che i record successivi (a prescindere dal valore contenuto nel 
controllo txtQuantita) inseriscano una pagina nuova (intUnaInterruzione 
e' dichiarata a livello di modulo e viene settata a 0 all'apertura del 
report).
Peccato pero' che quel codice mi metta tutti i record nella stessa 
pagina a prescindere dal valore contenuto in txtQuantita.
grazie ancora
-- 
Enzo

> Spero di essere stato chiaro nell'esposizione
Ciao Potone,
grazie anche a te per il suggerimento, c'e' solo un piccolo problema e 
cioe' con quella condizione tutte le volte che la quantita e' maggiore 
di zero mi inserirebbe una pagina nuova, mentre io vorrei che la pagina 
nuova venga inserita una volta soltanto e cioe' quando la quantita passa 
da 0 a maggiore di 0.
grazie ancora
-- 
Enzo

 ha scritto nel messaggio news:e1nyg.55871$_J1.6...@twister2.libero.it...

Ciao Potone,

Ne sei certo? Hai provato?
Se crei un raggruppamento condizionato da una formula come =[NomeCampo]>0 le sezioni del report che appariranno saranno solo due:
una per i record con il valore del campo minore di zero e una per tutti gli altri (la formula restituisce sempre e solo vero o
falso).
Se il campo può contenere null usa nz() per evitare una terza sezione.
Fai visualizzare il pie di pagina di sezione e imposta il salto pagina automatico.
Se non c'è altro dovrebbe funzionare.
Ciao,
Mat.
grazie ancora
-- 
Enzo

 Mat.
ciao e grazie ancora
-- 
Enzo

 C'è la soluzione, forcenewpage. L'helpè molto chiaro in merito
Ciao MA,
ho risolto con il suggerimento che mi ha dato Potone.
grazie ancora
-- 
Enzo


Matteo è molto bravo, oltre che simpatico


 Matteo è molto bravo, oltre che simpatico
e anche molto paziente visto che ha avuto la voglia di rispondermi 
nuovamente (per rispiegarmi la stessa cosa) in un altro post dopo che 
avevo preso fischi per fiaschi nel suo primo "intervento".
ciao
-- 
Enzo

 Mat.
ciao e grazie ancora
---
alla prossima,
Mat.
-- 
Enzo

 naaaa, distrazione capita
ma non si diceva comunista?

-- 


 ha scritto nel messaggio news:D6oyg.55674$zy5.1...@twister1.libero.it...


ciao
-- 
Enzo
Ma state parlando di me?
scherzo... comunque grazie anche se poi non ho fatto nulla di che.
Ancora ciao
Mat.