PDA

View Full Version : Access,VBA e stampa report- aiuto


finalmente
19-02-2006, 16:38
Buona sera.

Ho la necessita di stampare un database contenente i dati di un
inventario, contenente varie colonne descrittive e alcune colonne
relative al costo (3 o 4, a secondo della natura del bene).
Vorrei che nella stampa generale per ogni pagina venissero fuori i
totali parziali della pagina per ogni colonna di costo, e che venissero
poi riportati nella pagina successiva cosi da sommarli ai nuovi costi e
determinare i nuovi parziali, cosi fino alla fine del database, dove
poi determinare i totali generali.
Utilizzando il report guidato riesco solo a raggruppare i dati sulla
base di alcuni criteri, mentre a me serve una stampa cronologica cosi
come si trovano i dati.
So che programmando in VBA si dovrebbe riuscire nell'intento, ma sono
proprio a digiuno.
Tra l'altro le voci di ogni record sono parecchie tanto da necessitare
un formato US Letter con il lato piu lungo orizzontale.
Qualcuno puo aiutarmi?
Grazie.

finalmente
20-02-2006, 17:09
Nessun aiuto?

Buona sera.

Ho la necessita di stampare un database contenente i dati di un
inventario, contenente varie colonne descrittive e alcune colonne
relative al costo (3 o 4, a secondo della natura del bene).
Vorrei che nella stampa generale per ogni pagina venissero fuori i
totali parziali della pagina per ogni colonna di costo, e che venissero
poi riportati nella pagina successiva cosi da sommarli ai nuovi costi e
determinare i nuovi parziali, cosi fino alla fine del database, dove
poi determinare i totali generali.
Utilizzando il report guidato riesco solo a raggruppare i dati sulla
base di alcuni criteri, mentre a me serve una stampa cronologica cosi
come si trovano i dati.
So che programmando in VBA si dovrebbe riuscire nell'intento, ma sono
proprio a digiuno.
Tra l'altro le voci di ogni record sono parecchie tanto da necessitare
un formato US Letter con il lato piu lungo orizzontale.
Qualcuno puo aiutarmi?
Grazie.

guldo76
20-02-2006, 22:22
Se ho capito bene vuoi i totali per pagina cumulati, giusto?
Bè, dovrebbero bastare le macro, senza ricorrere a VBA.
Hai presente, nella finestra database, oltre a Tabelle, Query, Maschere,... c'è la voce Macro.
Nel report, nel piè di pagina, crea una casella di testo non associata, chiamala "TotPag".
Crea 1 nuova macro con 2 azioni:
1)
nome: Accumula
azione: Imposta valore
argomenti:
* elemento: [TotPag]
* espressione: [TotPag] + [Costo]
2)
nome: Azzera
azione Imposta valore
argomenti:
* elemento: [TotPag]
* espressione: 0

Salva la macro col nome "Totali".

Ora devi associare la macro a determinati eventi del report:
all'evento "su formattazione" dell'Intestazione del Report assegna: Totali.Azzera
all'evento "su stampa" del Corpo: Totali.Accumula

Ho utilizzato una sola colonna di "Costo"; non devi fare altro che ripetere la stessa cosa per tutti i tuoi campi costo.

bye

p.s.: non c'era bisogno di quotare il tuo stesso messaggio.

finalmente
21-02-2006, 10:30
Ti ringrazio, sei stato gentile, provero con un po di calma; ma se non ho capito male la macro da te indicata serve solo a mettere il totale alla fine della pagina; se il totale della pagina precedente lo volessi riportatre nella pagina successiva e aggiungerlo alla somma della pagina, e cosi via fino alla fine?
In pratica:
prima pagina elenco di costi, totale a pie' di pagia da riportare
seconda pagina: totale riportato+nuovo elenco di costi+totale da riportare
terza pagina: come sopra
ultima pagina: totale generale

Spero di non essere troppo esigente.
Che tu sappia le macro si possono applicare anche in database piu terra terra come works, che è l'applicativo che sto utilizzando adessoe che conosco meglio?

Grazie ancora.

Have a nice day.

guldo76
01-03-2006, 11:58
Ciao,
ho "sentito" che non hai ancora risolto; pensavo di sì.
La procedura corretta è quella che ti ho descritto sopra, cmq allego una foto della finestra delle macro.
Per avere anche il totale precedente in cima alla pagina, inserisci un'altra casella di testo nell'intestazione pagina del report e all'interno della macro "Precedente" imposti il suo valore a [TotPag].
La macro "Precedente" la colleghi all'evento "su stampa" dell'intestazione pagina.

Se c'è qualcosa che non va, spiega che cosa, non limitarti a dire: "Non va!". :)

bye

p.s.: non conosco per niente works, e non saprei proprio.

finalmente
01-03-2006, 14:00
Ciao,

C'e' un ultimo problema a proposito della stesura del report:

A me non interessa il report secondo qualche criterio di selezione omogeneo di uno dei campi, ma il semplice elenco dei records, un certo numero per pagina, fino alla fine di tutti i records, con le caratteristiche dei totali parziali e
alla fine del file il totale generale.
C'e' un modo per dirgli di stampare N numeri di records per pagina?

Dopo di che cerchero di mettere in pratica i tuoi consigli.

Ciao

guldo76
01-03-2006, 14:05
C'e' un modo per dirgli di stampare N numeri di records per pagina?
Non credo proprio.
Non in modo ragionevole, quanto meno.

finalmente
01-03-2006, 16:37
Ah bene!!
quindi con le macro niente da fare.
E ritorniamo al punto anzi al problema di partenza, quello delle istruzioni VBA
Che stress!!!