Idea su come costruire un report

di il
14 risposte

Idea su come costruire un report

Salve,

come da titolo questa volta non ho bisogno del vostro aiuto per quanto riguarda codici o meccanismi. In pratica, ho un'idea, ma non so come attuarla in Access. Ora vi spiego.

Ho un database Mezzi.accdb e un database GestionePersonale.accdb. Ho creato un terzo database che ho chiamato Collegamento.accdb in cui ho importato cioè che mi serviva dei due database precedenti. Quest'ultimo database dovrebbe generare quello che si chiama “Rapporto di Cantiere”, in pratica, un rapporto che reca una data e in cui si elencano i vari operai e la descrizione del lavoro. 

Non so come inserire i dati, nel senso non so cosa fare… è strano da dire, lo so, ma non so come procedere. Come faccio per inserire i dati? Cioè faccio un esempio: voglio fare il rapporto di cantienre del 28/06, allora scelgo il lavoro, e poi inizio ad inserire i nominativi  degli operari. Ma questo procedimento dove lo devo fare? Quando ho inserito tutti i dati allora poi faccio un report. 

Cioè, in pratica, è come se avessi una scheda vuota in word con i vari campi e compilarla, lo stesso vorrei farlo in Access, è possibile una cosa del genere?

Grazie a tutti.

PS: Non sgridatemi

14 Risposte

  • Re: Idea su come costruire un report

    Uhm… praticamente si parte dal libro della genesi.

    Suppongo che quelli che chiami database siano in realtà delle tabelle di un unico database chiamato accdb.

    Chiarito questo, come fai a riempire “popolare” queste tabelle? Cioè, suppongo che creata la “tabella” mezzi, che nessuno sa cosa contenga, hai inserito dei dati.

    Rileggi il periodo di cui sopra sostituendo i nomi con i nomi delle altre tabelle…

    Ora, abbiamo delle tabelle, non sappiamo quale è la madre, non sappiamo “collegamento” che cosa è (query? Relazione? Tabella?), Non si sa cosa intendi per “fare un rapporto” (interroghi le tabelle o stai inserendo nuovi dati?).

    Tu dove arrivi con access? 

  • Re: Idea su come costruire un report

    Non ti sgridiamo perchè ne leggiamo di tutti i colori e ci abbiamo fatto il callo. Il titolo del tuo post parla di costruire un report, ma mancano alla base le tabelle che lo compongono. Andiamo per piccoli step:
    1. Elenca i nomi propri di tutte le tabelle
    2. Elenca tutti i nomi propri dei loro campi, con indicazione della chiave primaria
    3. Le relazioni
    4. Rispiega tutto passo passo usando i nomi propri. Se necessario fai un esempio pratico della tua problematica di base

    In alternativa ai punti 1.-3. puoi allegare una immagine della Finestra Relazioni.

  • Re: Idea su come costruire un report

    28/06/2023 - Nat ha scritto:


    Ho un database Mezzi.accdb e un database GestionePersonale.accdb. Ho creato un terzo database che ho chiamato Collegamento.accdb in cui ho importato cioè che mi serviva dei due database precedenti. Quest'ultimo database dovrebbe generare quello che si chiama “Rapporto di Cantiere”, in pratica, un rapporto che reca una data e in cui si elencano i vari operai e la descrizione del lavoro. 

    Ciao, Nat come va ?

    1. non ti chiedo perchè hai creato un terzo DB ;))
    2. questo terzo DB lo chiami collegamento, però poi dici che hai importato le tabelle dagli altri due… non è molto chiaro, hai copiato le tabelle o le hai collegate ? quindi attenzione a come si descrivono le cose, ok ?
    3. Poniamo che tu abbia dei dati dentro a queste tabelle 
    4. Poniamo che sai come devono essere relazionate

    A questo punto, visto che non sai da che parte farti, ti suggerisco di creare una semplice query di selezione dove scegliarai le tabelle e i campi da visualizzare nel report.

    Se devi filtrare per taluni campi… nei criteri inserisci, anche solo per prova, i filtri che ti occorrono e visualizza la query se ti restituisce i dati che desideri

    Se devi ordinare i dati.., indica nella query quali campi desideri ordinare. Visualizza la query e valuta se ti restituisce l'ordinamenti corretti.

    - Quando ritieni che la query soddisfa le tue aspettative, a questo punto puoi crearti un report che avrà come origine dati la query che hai realizzato.


    Questo è un esempio di come potresti fare…. magari partendo da una query avrai meno difficoltà nel crearti il Report… dipendi se e come conosci l'argomento "Report"

    .

  • Re: Idea su come costruire un report

    28/06/2023 - By65Franco ha scritto:


    28/06/2023 - Nat ha scritto:


    Ho un database Mezzi.accdb e un database GestionePersonale.accdb. Ho creato un terzo database che ho chiamato Collegamento.accdb in cui ho importato cioè che mi serviva dei due database precedenti. Quest'ultimo database dovrebbe generare quello che si chiama “Rapporto di Cantiere”, in pratica, un rapporto che reca una data e in cui si elencano i vari operai e la descrizione del lavoro. 

    Ciao, Nat come va ?

    1. non ti chiedo perchè hai creato un terzo DB ;))
    2. questo terzo DB lo chiami collegamento, però poi dici che hai importato le tabelle dagli altri due… non è molto chiaro, hai copiato le tabelle o le hai collegate ? quindi attenzione a come si descrivono le cose, ok ?
    3. Poniamo che tu abbia dei dati dentro a queste tabelle 
    4. Poniamo che sai come devono essere relazionate

    A questo punto, visto che non sai da che parte farti, ti suggerisco di creare una semplice query di selezione dove scegliarai le tabelle e i campi da visualizzare nel report.

    Se devi filtrare per taluni campi… nei criteri inserisci, anche solo per prova, i filtri che ti occorrono e visualizza la query se ti restituisce i dati che desideri

    Se devi ordinare i dati.., indica nella query quali campi desideri ordinare. Visualizza la query e valuta se ti restituisce l'ordinamenti corretti.

    - Quando ritieni che la query soddisfa le tue aspettative, a questo punto puoi crearti un report che avrà come origine dati la query che hai realizzato.


    Questo è un esempio di come potresti fare…. magari partendo da una query avrai meno difficoltà nel crearti il Report… dipendi se e come conosci l'argomento "Report"

    .

    Ciao! Tutto bene grazie, spero che anche tu stia bene.

    Comunque, perché ho fatto un terzo database? Ora mi spiego.

    Esiste un primo database in cui sono presenti tutti i mezzi, insomma in questo database si gestiscono le varie scadenze per quanto riguarda le assicurazioni etc, poi esiste un secondo database Dipendenti in cui ci sono le informazioni personlali dei dipendenti ed il conteggio delle ore. Questo terzo database mi serve affinché un preposto compili il rapporto di cantiere. Ovviamente il preposto non deve aver accesso alle informazioni sensibili dei dipendenti, né è di suo interesse spulciare il catalogo dei mezzi. Allora ho creato un terzo database in cui ci sono collegate (con il simboletto della freccia) le tabelle dei mezzi e dei dipendenti, sia degli uni che degli altri mi servono solo i denominativi. PErché il preposto quando fa il rapporto di cantiere deve scrivere quali mezzi sono presenti e quali dipendenti. Allora io volevo che questi dati fossero già presenti in modo tale che il preposto non debba aggiungere nulla di nuovo. Il mio problema è: come gliela creo una schermata per l inserimento dei dati al preposto? In prativa lui dovrebbe inserire la data, poi dovrebbe inserire i dipendenti che possono essere più di uno ed i mezzi, alla fine dovrebbe essere presente un pulsante che con un clik gli generi un report da stamapare, tipo una fattura ecco. Non so se sono stato sufficientemente chiaro, magari ci sono altri modi per fare tutto questo, sarei contento di leggere tutte le vostre idee. 

  • Re: Idea su come costruire un report

    Mah…sarà che io non ho mai usato tabelle collegate…penso che comunque vada implementata una struttura normalizzata. Poi magari si ingegnano tutto gli strumenti possibili per impedire l'accesso ai dati sensibili (campi nascosti, divisione del database in FE e BE). Se un utente più esperto ha colto il senso della progettazione di Nat…lascio volentieri il campo libero. Altrimenti ribadisco le mie richieste:

    28/06/2023 - OsvaldoLaviosa ha scritto:


    1. Elenca i nomi propri di tutte le tabelle
    2. Elenca tutti i nomi propri dei loro campi, con indicazione della chiave primaria
    3. Le relazioni
    4. Rispiega tutto passo passo usando i nomi propri. Se necessario fai un esempio pratico della tua problematica di base

    In alternativa ai punti 1.-3. puoi allegare una immagine della Finestra Relazioni.

  • Re: Idea su come costruire un report

    28/06/2023 - OsvaldoLaviosa ha scritto:


    Mah…sarà che io non ho mai usato tabelle collegate…penso che comunque vada implementata una struttura normalizzata. Poi magari si ingegnano tutto gli strumenti possibili per impedire l'accesso ai dati sensibili (campi nascosti, divisione del database in FE e BE). Se un utente più esperto ha colto il senso della progettazione di Nat…lascio volentieri il campo libero. Altrimenti ribadisco le mie richieste:

    28/06/2023 - OsvaldoLaviosa ha scritto:


    1. Elenca i nomi propri di tutte le tabelle
    2. Elenca tutti i nomi propri dei loro campi, con indicazione della chiave primaria
    3. Le relazioni
    4. Rispiega tutto passo passo usando i nomi propri. Se necessario fai un esempio pratico della tua problematica di base

    In alternativa ai punti 1.-3. puoi allegare una immagine della Finestra Relazioni.

    Grazie per l'interessamento, ma tutte le relazioni funzionano correttamente. Cioè io non so come spiegarmi, sta tutto dentro il database. Vorrei compilare un rapporto, tipo una fattura ecco: scelgo la data, scelgo i mezzi scelgo i dipendenti. Tra mezzi e dipendenti non c'è nessuna relazione, mi servono solo per creare le combo.

    Cioè non so come spiegarmi. Cioè immaginati un foglio bianco di word in cui ci sono delle colonne vuote la cui intestazione è lavoro, mezzi, dipendenti e tu li riempi con la tastiera ad uno ad uno, invece io li vorrei compilare mediante il database.

  • Re: Idea su come costruire un report

    Ecco cosa vorrei. Vi posto un rapporto di lavaro. Vorrei che questo fosse “automatizzato” con il database

    Cioè vorrei alla fine un report di questo tipo, esattamente copia ed incolla, ma come faccio ad inserire i dati? I fornitori ci sono, i nominativi ci sono, i mezzi ci sono, ma la persona che va li a compilarlo come posso fare in modo che lo compili? esattamente in questo modo, solo che dovrebbe farlo con access. C'è tutto, le relazioni ci sono, tutto. Dovrebbe uscire una specie di maschera di questo tipo e poi con un tasto creare un report uguale. Vorrei sapere solo la teoria, cioè quello che devo fare. 

  • Re: Idea su come costruire un report

    “C'è tutto, le relazioni ci sono, tutto” forse è meglio se posti un file di esempio per capire che cosa  veramente hai realizzato.

  • Re: Idea su come costruire un report

    28/06/2023 - Nat ha scritto:


    Cioè vorrei alla fine un report di questo tipo, esattamente copia ed incolla, ma come faccio ad inserire i dati? I fornitori ci sono, i nominativi ci sono, i mezzi ci sono, ma la persona che va li a compilarlo come posso fare in modo che lo compili? esattamente in questo modo, solo che dovrebbe farlo con access. C'è tutto, le relazioni ci sono, tutto. Dovrebbe uscire una specie di maschera di questo tipo e poi con un tasto creare un report uguale. Vorrei sapere solo la teoria, cioè quello che devo fare. 

    Sai come la penso ;))  il tuo approccio non è dei migliori, ma hai le tue esigenze e idee … ma se fossi in te farei tabula rasa e ricomincerei dall'inizio :))  (scherzo….)

    pertanto hai diverse strade da percorrere.

    Ti indico una possibilità:

    • Preso atto che hai tutte le informazioni che ti occorrono
    • Preso atto che l'operatore deve solo scegliere delle Opzioni e non deve inserire nessun dato

    Esempio:

    1. Creare una Form
    2. Creare tante ComboBox tante quante sono le sezionare da fare per le varie tabelle
    3. Creare un report con origine dati che preleverai tramite una Select sul report stesso o da una Query
    4. Nella Form di Selezione di cui sopra:
      • creare un Filtro da passare al Report
      • eseguire il Report

    Il filtro da creare e da passare al report lo devi comporre con i valori selezionati dalle varie ComboBox, così come fai normalmente in occasione di Form e/o subForm etcc…

    Non ti faccio nessun esempio, mi limito a darti una idea. 
    Valuta e fai sapere cosa non ti torna.

  • Re: Idea su come costruire un report

    Mi aggiungo ai vari suggerimenti di cui sopra per proporre come mi muoverei io:

    1) Devi creare uno schema teorico Entita'-Relazioni di cio' che vuoi ottenere; questo ti aiuta a definire quanti e quali dati ti servono, il tipo, come organizzarli, eliminare ridondanze, ecc. 

    2) A seguire definisci le relative tabelle dove salvare i dati e le metti in relazione fra loro

    3) Poi crei la varie maschere per inserimento/interrogazione dati nelle tabelle

    4) Per ultimo sviluppi i reports che ti servono secondo il formato che piu' Ti aggrada, sfruttando le query per incrociare i dati

    Tu, mi sembra che vuoi partire dalla fine e penso sia il modo sbagliato…

    Anche se hai collegato tabelle da altri database, ipotizzando che siano gia' tutte normalizzate, quelle saranno solo una piccola parte del progetto. Sicuramente dovrai creare ulteriori tabelle in questo DB, per esempio: Tabella anagrafica cantiere, Tabella IDcantiere-personale, Tabella IDcantiere-mezzi, Tabella IDcantiere-fornitori, Tabella IDcantiere-materiali, ecc. (come vedi, tutte relazioni 1-N)

    Poi collegherai tutti i dati con delle query e potrai arrivare al report che stai cercando di ottenere.

  • Re: Idea su come costruire un report

    28/06/2023 - Nat ha scritto:


    Ecco cosa vorrei. Vi posto un rapporto di lavaro. Vorrei che questo fosse “automatizzato” con il database

    Cioè vorrei alla fine un report di questo tipo, esattamente copia ed incolla, ma come faccio ad inserire i dati? I fornitori ci sono, i nominativi ci sono, i mezzi ci sono, ma la persona che va li a compilarlo come posso fare in modo che lo compili? esattamente in questo modo, solo che dovrebbe farlo con access. C'è tutto, le relazioni ci sono, tutto. Dovrebbe uscire una specie di maschera di questo tipo e poi con un tasto creare un report uguale. Vorrei sapere solo la teoria, cioè quello che devo fare. 

    Forse ho capito…

    Crea una tabella “rapportino” e una “subrapportino”

    La tabella rapportino avrà oltre l'idrapportino i campi che sono le colonne della parte superiore del report.

    Quindi: idrapportino, fornitore

    A questa associ “righerapportino”

    Idrigherapportino, idrapportino, fornitore,  documento, descrizione, um, qta

    Nella maschera fai nuovo>> e vai in insert,

    Immetti un nuovo idrapportino e selezioni da fornitori un idfornitore

    Vai nella figlia (righerapportino)

    Nuova riga>> idrigarapportino, idrapportino uguale a quello del nuovo rapportino (è una costante), scrivi documento descrizione bla bla…

    Vai al successivo rigo e ripeti…

    La subrappoerino si comporta come rapportino e righesubrapportino come righerapportino

    Quindi nuovo>>

    Idsubrapportino ecc.. ecc..  come sopra.

    Per il report:

    Select * from rapportino inner join righerapportino on bla bla…

    E lo stesso fai con sub…

    Sovrapponi le due tabelle della query e hai finito

  • Re: Idea su come costruire un report

    30/06/2023 - sihsandrea ha scritto:


    Forse ho capito…

    Crea una tabella “rapportino” e una “subrapportino”

    La tabella rapportino avrà oltre l'idrapportino i campi che sono le colonne della parte superiore del report.

    Si va a duplicare informazioni che già esistono ?

    in pratica dei doppioni…. la vedo un po' pesante come gestione e razionalità.

    Se i dati sono già presenti basta raggrupparli con le scelte/selezioni volute ed esporli nel report.

    Può bastare una semplice query di selezione, ma volendo anche senza e magari creare la select da Vba per poi passarla al record source del report…  oppure inserirla direttamente nel report.

    Insomma… ci penserei bene prima di aggiungere tabelle che hanno dei contenuti già presenti in altre tabelle. Queste duplicazioni non solo possono risultare pesanti, ma possono tranquillamente rimanere orfane in quanto i dati di origini per qualche motivo possono non esistere più, etc etc etc …

    Se il “Rapporto di Lavoro” deve avere una Numerazione e deve essere consultabile e richiamabile, allora basta aggiungere il campo Numero Rapporto nelle tabelle di origine e così via dicendo.
    Insomma, meglio aggiungere un campo che delle tabelle che duplicano di dati.

    Ovviamente sono solo delle riflessioni fatte senza avere sottomano la struttura completa del DB. ;-)

  • Re: Idea su come costruire un report

    30/06/2023 - By65Franco ha scritto:


    30/06/2023 - sihsandrea ha scritto:


    Forse ho capito…

    Crea una tabella “rapportino” e una “subrapportino”

    La tabella rapportino avrà oltre l'idrapportino i campi che sono le colonne della parte superiore del report.

    Si va a duplicare informazioni che già esistono ?

    in pratica dei doppioni…. la vedo un po' pesante come gestione e razionalità.

    Se i dati sono già presenti basta raggrupparli con le scelte/selezioni volute ed esporli nel report.

    Può bastare una semplice query di selezione, ma volendo anche senza e magari creare la select da Vba per poi passarla al record source del report…  oppure inserirla direttamente nel report.

    Insomma… ci penserei bene prima di aggiungere tabelle che hanno dei contenuti già presenti in altre tabelle. Queste duplicazioni non solo possono risultare pesanti, ma possono tranquillamente rimanere orfane in quanto i dati di origini per qualche motivo possono non esistere più, etc etc etc …

    Se il “Rapporto di Lavoro” deve avere una Numerazione e deve essere consultabile e richiamabile, allora basta aggiungere il campo Numero Rapporto nelle tabelle di origine e così via dicendo.
    Insomma, meglio aggiungere un campo che delle tabelle che duplicano di dati.

    Ovviamente sono solo delle riflessioni fatte senza avere sottomano la struttura completa del DB. ;-)

    Beh, mica conosco le tabelle che ha creato, ovviamente a quegli esempi può usare le tabelle (database) che ha.

  • Re: Idea su come costruire un report

    30/06/2023 - sihsandrea ha scritto:


    Beh, mica conosco le tabelle che ha creato, ovviamente a quegli esempi può usare le tabelle (database) che ha.

    ;-) neppure io le conosco … ma lui ha detto che ha tutti i dati a disposizione e deve fare solo il report… boh… se ha descritto bene e se io ho capito bene…

    Ad ogni modo adesso ha due possibili strade da percorrere e se gli interessa creare un documento Foglio di Lavoro da archiviare inserendo ulteriori informazioni non presenti nel Db, allora dovrà seguire il tuo suggerimento. Oppure integrare tali informazioni in più nelle tabelle già esistenti.

    Poi normalmente il Nat non segue i suggerimenti dati e fa tutt'altra cosa… ;-)) (scherzo)   Però ci mette molto impegno, è volenteroso. ;-)

Devi accedere o registrarti per scrivere nel forum
14 risposte