Stampa Report con sottoreport

di il
30 risposte

Stampa Report con sottoreport

Salve a tutti
ho un report, formato A4, che contiene 4 sottoreport (4 passi) collegati ad una query parametrica.
Il problema è che quando cerco di stampare il report mi chiede di digitare i 4 numeri di passi che voglio stampare (uno per ogni passi) e poi mi richiede ancora di digitare gli stessi numeri per altre volte.
Come posso fare per evitare di digitare più volte lo stesso parametro?
Grazie mille in anticipo per l'aiuto.
Mimì

30 Risposte

  • Re: Stampa Report con sottoreport

    I parametri si gestiscono con un'interfaccia utente, o maschera, in quel modo lo inserisci 1 volta e le N query lo prendono tutte dalla stessa fonte, sempre sia veramente necessario...

    Come mai devi inserire un Parametro per i SottoReport...? il Report principale a cosa lo leghi come dati...?
  • Re: Stampa Report con sottoreport

    Io ho bisogno di stampare in un solo foglio 4 passi, in modo da non sprecare un foglio per un solo passi.
    Quindi il report principale non è legato a niente, mentre i quattro sottoreport in esso contenuto sarebbero i 4 passi da stampare.
    Il motivo per cui i sottoreport sono parametrici e dovuto al fatto che io potrei stampare i passi 1,2,3,4 (in un foglio), poi i passi 5, 6, 7, 8, (in un secondo foglio) oppure potrei avere l'esigenza di ristampare i passi 2, 5, 8, 10 (in un solo foglio).
    grazie
  • Re: Stampa Report con sottoreport

    Sei sicuro sia la soluzione giusta...?
    Se dimensioni il REPORT in modo adeguato, puoi stamptare su 2 Colonne e con 1 solo report stampi in un foglio i 4 passi.

    Credo tu abbia preso la strada non adeguata.
  • Re: Stampa Report con sottoreport

    Scusa la mia poca esperienza,
    io ho:
    - una tabella Personale, dove inserisco i dati del titolare del passi;
    - una tabella Logsheet, collegata alla precedente, dove inserisco il numero del passi assegnato e la validità;
    - una query, chiamata Logsheet Query, dove visualizzo: il Titolare del passi, il Veicolo, il N°del passi e la Validità.
    Nella query ho inserito come parametro il n° del passi, in modo che io posso decidere quale passi stampare.
    A questo punto ti chiedo come faccio a stampare 4 passi diversi, con numeri decisi da me e quindi non sempre sequenziali, in un solo foglio A4, senza metterci dei sottoreport collegati alla query Logsheet Query.
    Grazie per l'aiuto
  • Re: Stampa Report con sottoreport

    Mimi ha scritto:


    io ho:
    - una tabella Personale, dove inserisco i dati del titolare del passi;
    - una tabella Logsheet, collegata alla precedente, dove inserisco il numero del passi assegnato e la validità;
    Ma una Persona ha molti Passi?
  • Re: Stampa Report con sottoreport

    OsvaldoLaviosa ha scritto:


    Mimi ha scritto:


    io ho:
    - una tabella Personale, dove inserisco i dati del titolare del passi;
    - una tabella Logsheet, collegata alla precedente, dove inserisco il numero del passi assegnato e la validità;
    Ma una Persona ha molti Passi?
    Ogni persona ha un passi che può valere 1 giorno o un anno. Alla scadenza può chiedere un nuovo passi che avrà un altro numero.
  • Re: Stampa Report con sottoreport

    Devi dimensionare il REPORT sulla dimensione del "passi", quindi andare nelle impostazioni e, definire il numero di colonne su cui stampare.

    Se il "passi" ha dimensione che ce ne stanno 2 per foglio in colonna... seguirai quello ed il sistema farà il resto.
  • Re: Stampa Report con sottoreport

    Salve,
    Io la vedo così

    Mimi ha scritto:


    Io ho bisogno di stampare in un solo foglio 4 passi, in modo da non sprecare un foglio per un solo passi.
    Quindi il report principale non è legato a niente, mentre i quattro sottoreport in esso contenuto sarebbero i 4 passi da stampare.
    Crei una TabStampe cosi composta
    IdStampa Pk (questa potresti anche ometterla)
    IdSoggetto fk
    PassNr1
    PassNr2
    PassNr3
    PassNr4 (questi non sono i pass 1,2,3,4 ma i campi che debbono contenere i Numeri pass da te scelti)

    Questa Tab la poni come origine dati del report principale e leghi campi master/secondari oltre che con l'idSoggetto anche con il PassNr...
    Per ogni stampa modifichi o elimini/accodi le tue scelte alla TabStampe e stampi senza filtrare nulla.
    A questo punto se per il soggetto Pippo hai scelto il pass 5,4,7,8 modifichi/aggiorni la tab stampe, apri il report e stampi
    Oppure la tabStampe la inserisci in una sottomaschera e da li fai la tua scelta stampe cosi
    IdPippo pass 1,3,5
    IdCarlo pass 3,5,7,8
    idCaio pass 2
    In questo modo avrai la stampa di 3 pagine
    1 per pippo con 3 pass
    1 per Carlo con 4 pass
    1 per Caio con 1 pass (i pass senza corrispondenza non verranno stampati.
    Questo funziona sempre che io abbia capito il problema.
    Il motivo per cui i sottoreport sono parametrici e dovuto al fatto che io potrei stampare i passi 1,2,3,4 (in un foglio), poi i passi 5, 6, 7, 8, (in un secondo foglio) oppure potrei avere l'esigenza di ristampare i passi 2, 5, 8, 10 (in un solo foglio).
    grazie
    Questo funziona, sempre che io abbia capito il problema.
    Stammi bene
  • Re: Stampa Report con sottoreport

    @Alex ha scritto:


    Devi dimensionare il REPORT sulla dimensione del "passi", quindi andare nelle impostazioni e, definire il numero di colonne su cui stampare.

    Se il "passi" ha dimensione che ce ne stanno 2 per foglio in colonna... seguirai quello ed il sistema farà il resto.
    Corregimi se ho capito bene:
    "apro il Report Passi, collegato alla query parametrica Logsheet Query, vado su Imposta Pagina ci metto 4 colonne;
    se è così mi chiede un solo n° di passi e mi stampa un solo passi sulla pagina.

    Il mio problema è quello di evitare, quando clicco sul pulsante Stampa Report, di inserire due volte gli stessi numeri di passi da stampare. es:
    se voglio stampare i passi 1 - 2 - 3 - 4, quando clicco sul pulsante Stampa Report, mi escono quattro finestre una prima volta e le stesse quattro finestre una seconda volta.
    E come se la prima volta me lo chiede il database e la seconda volta la stampante.
  • Re: Stampa Report con sottoreport

    Mimi ha scritto:


    OsvaldoLaviosa ha scritto:


    Mimi ha scritto:


    io ho:
    - una tabella Personale, dove inserisco i dati del titolare del passi;
    - una tabella Logsheet, collegata alla precedente, dove inserisco il numero del passi assegnato e la validità;
    Ma una Persona ha molti Passi?
    Ogni persona ha un passi che può valere 1 giorno o un anno. Alla scadenza può chiedere un nuovo passi che avrà un altro numero.
    Nella tabella LogSheet hai uno "storico" di tutti i Passi ricevuti da Rossi Mario? Oppure la sostituzione Passi rimpiazza il vecchio Passi?
  • Re: Stampa Report con sottoreport

    OsvaldoLaviosa ha scritto:


    Mimi ha scritto:


    OsvaldoLaviosa ha scritto:



    Ma una Persona ha molti Passi?
    Ogni persona ha un passi che può valere 1 giorno o un anno. Alla scadenza può chiedere un nuovo passi che avrà un altro numero.
    Nella tabella LogSheet hai uno "storico" di tutti i Passi ricevuti da Rossi Mario? Oppure la sostituzione Passi rimpiazza il vecchio Passi?
    Forse non mi sono spiegato bene. il mio problema è la stampa e cioè come faccio ad evitare di inserire 2 volte (credo una per il database e una per la stampante) gli stessi numeri di passi da stampare?
  • Re: Stampa Report con sottoreport

    Mimi ha scritto:


    Forse non mi sono spiegato bene. il mio problema è la stampa e cioè come faccio ad evitare di inserire 2 volte (credo una per il database e una per la stampante) gli stessi numeri di passi da stampare?
    Ti ho fatto delle domande apparentemente fuori dal TUO contesto. Se non è chiara la struttura alla base...tutto il resto che ci costruisci sopra rischia di non avere senso...e tra utenti non ci si capisce.
    Ti chiedo vivamente di chiarire A ME la struttura tabelle campi, ossia voglio conoscere:
    - tutti i campi di entrambe le tabelle, con indicazione della chiave primaria
    - quali sono i campi di relazione
    - chiarire se a Rossi Mario, quando usa il Passi n.100 valido dal 1/1/2020 al 31/12/2020, poi il 1/1/2021 gli dai un altro Passi n.512 con validità 1/1/2021-30/6/2021, quest'ultimo Passi SOSTITUISCE il precedente, oppure VIENE TRACCIATO con un secondo record nella tabella LogSheet?
    - una volta chiarito il punto precedente, se vuoi includere Rossi Mario nella query/report, quali Passi devono essere mostrati?
  • Re: Stampa Report con sottoreport

    Credo tu abbia diversi lati oscuri da colmare...!

    Se devi stampare i "passi" [1,6,7,9...n] si costruisce il Criterio di FILTRO del Report da passare al Parametro WHERECondition nella funzione OpenReport.

    Questo automaticamente filtra i "passi" a solo quelli che hai inserito nel Criterio, che sia [1] che siano [n]
    Detto questo imposti la Query di origine del Report SENZA CRITERI, deve avere TUTTI i Records, sarà poi il passaggio del Criterio in OpenReport a limitare il numero a quelli selezionati, quindi se hai dimensionato a Largh=10cm e Altezza=5cm, impostando un foglio A4 con bordi stretti, ed impostanto N°Colonne=2 con spaziatura 0,5cm, otterrai che i "passi" vengono stampati in colonna.

    Non vado oltre, perchè hai ricevuto sicuramente chiarimenti sufficienti.
  • Re: Stampa Report con sottoreport

    @Alex ha scritto:


    Credo tu abbia diversi lati oscuri da colmare...!

    Se devi stampare i "passi" [1,6,7,9...n] si costruisce il Criterio di FILTRO del Report da passare al Parametro WHERECondition nella funzione OpenReport.

    Questo automaticamente filtra i "passi" a solo quelli che hai inserito nel Criterio, che sia [1] che siano [n]
    Detto questo imposti la Query di origine del Report SENZA CRITERI, deve avere TUTTI i Records, sarà poi il passaggio del Criterio in OpenReport a limitare il numero a quelli selezionati, quindi se hai dimensionato a Largh=10cm e Altezza=5cm, impostando un foglio A4 con bordi stretti, ed impostanto N°Colonne=2 con spaziatura 0,5cm, otterrai che i "passi" vengono stampati in colonna.

    Non vado oltre, perchè hai ricevuto sicuramente chiarimenti sufficienti.
    Scusa per la mia insistenza, dovuta alla poca esperienza in access,
    mi potresti fare un esempio pratico di come costruire il "Criterio di FILTRO del Report da passare al Parametro WHERECondition nella funzione OpenReport".
    grazie per la pazienza

    ho inserito questo codice su evento clic del pulsante sulla maschera:
    DoCmd.OpenReport "ReportPass", acViewPreview, , "[NrPass]= [ ]"
    ed ovviamente mi fa inserire un solo nr. passi.
    Come dovrei fare per inserirne 4 ?
Devi accedere o registrarti per scrivere nel forum
30 risposte