Rieccomi.
Ho finalmente trovato il tempo per rimettermi sotto con le modifiche di questo database.
La parte di selezione tramite listbox e stampa dei pdf, come dicevi tu Alex, è stata banale.
Ora, però, sono riuscito solo a far stampare un pdf per ogni report.
Ciò che servirebbe, come dicevo, è un meccanismo automatizzato che permetta di unirli (pre o post stampa) in un unico file pdf.
Tentando nuove soluzioni, ho provato a produrre un report unico (come dicevate voi giustamente).
Soluzione1
Provo a riassumere ciò da cui sono partito e ciò che ho fatto (sicuramente sbagliando, altrimenti avrebbe funzionato bene bene):
- Ho 3 tabelle (chiamiamole Tabella1, Tabella2, Tabella3)
- Ognuna di queste tabelle è corrispondente a delle caratteristiche di una differente macchina industriale (Macchina1, Macchina2,Macchina3...sono macchine differenti l'una dalle altre, e quindi non riconducibili tra loro per caratteristiche, dato che anche nel report avrò una impaginazione specifica e differente per ognuna delle macchine...però sono riconducibili tramite NUMPREV, ovvero il numero del preventivo)
- Ognuna di queste 3 tabelle, a seconda se la macchina è presente o meno nel mio preventivo, potrebbe contenere un record relativo alla macchina con le info sopra citate.
Potrebbe benissimo, quindi, capitare che ci sia Macchina1 e Macchina2, ma NON Macchina3.
- Ho costruito 3 report differenti (Report1, Report2, Report3), perchè come ho detto prima è necessario dare ad ognuno una specifica impaginazione. Ognuno dei report fa riferimento appunto a rispettivamente Tabella1, Tabella2, Tabella3, ed è composto da sole caselle di testo impostate come riducibili e da una casella per oggetto OLE...cioè una figura)
- Ho costruito un ReportUnico con al suo interno 3 sottoreport riducibili (cioè i 3 report che ho citato sopra), separati da un interruttore di pagina così che possa mantenere l'impaginazione che mi occorre senza avere pagine tagliate a metà.
Arrivo al problema: quando non ho una delle tre macchine, il ReportUnico stampa una pagina bianca al posto del report interessato.
Spiego meglio. Mettiamo caso di avere Macchina1, Macchina2 ma NON Macchina3. Il report stampa le prime due pagine in modo perfetto dato che ha un record da cui attingere dati, ma al posto della pagina relativa al Report3 stampa una pagina bianca.
In quale modo è risolvibile? Consigli?
Non eliminando l'interruttore di pagina perchè è importante ai fini del mantenimento dell'impostazione grafica della pagina successiva...anche se ho visto che eliminandolo, risolvo il problema! (purtroppo l'impostazione grafica è fondamentale per questo lavoro, e mi ritroverei con pagine tagliate a metà e cose simili)
Soluzione2
Ho tentato un'altra soluzione, come avevate suggerito voi. Cioè la costruzione di un report unico sfruttando la riconducibilità dei tre record tramite il numero preventivo.
Tramite query, legando le tre tabelle per numero preventivo, ottengo ancora meno rispetto alla soluzione 1. Questo perchè, se in tutte e tre le tabelle non è presente il record con relativo numero preventivo (per esempio, se sono presenti Macchina1 e Macchina2, ma NON Macchina3), il report viene stampato completamente bianco.
E' possibile mettere qualche condizione sul campo NUMPREV (numero preventivo) tale che:
- se c'è il record nella tabella con il numero preventivo interessato, allora stampa il report
- se non c'è il record nella tabella con il numero preventivo interessato, allora il report non viene stampato? (però non devo avere la pagina bianca...perchè altrimenti ogni volta a fine lavoro dovrei star li a togliere le pagine bianche, e numerarle, manualmente con uno strumento di merge)
Grazie anticipatamente per tutto!