Creare relazioni e pivot

di il
2 risposte

Creare relazioni e pivot

Premetto che sono più esperto su Access e molto meno su Excel. Forse userò terminologie improprie, ma provo ugualmente a esporre il mio problema.
Ho un file Excel che si chiama Biblioteca. Contiene 3 fogli (tabelle) con i seguenti nomi e relativi campi:

Scaffali
Mobile | Scaffale | Argomento | Sotto

Libri
CodLibro | Autore | Titolo | Scaffale

Movimenti
DataPrestito | DataRestituzione | Persona | CodLibro

Per chi conosce Access, salta subito all'occhio che i campi Scaffali.Scaffale ha una relazione uno-a-molti con Libri.Scaffale. Idem vale tra Libri.CodLibro con Movimenti.CodLibro

1. Vorrei creare tali relazioni. Ho letto qui Creare una relazione tra tabelle in Excel - Supporto tecnico Microsoft e dice che 
Se l'opzione Relazioni non è disponibile, significa che la cartella di lavoro contiene una sola tabella.
A me sembra falso: dove sbaglio?

2. Dopo aver creato le relazioni vorrei che i "campi chiave" (Scaffale e CodLibro) dal lato uno facessero da pivot...ecco qui non sono sicuro di esprimermi correttamente.

Vorrei chiarire che l'intero progetto Biblioteca si presta certamente per essere progettato con Access, ma chi mi ha chiesto aiuto sa appena usare Excel, la mole di dati è davvero esigua e, tutto sommato, per cominciare si può anche intraprendere questa strada.

2 Risposte

  • Re: Creare relazioni e pivot

    15/11/2024 - OsvaldoLaviosa ha scritto:

    Vorrei chiarire che l'intero progetto Biblioteca si presta certamente per essere progettato con Access, ma chi mi ha chiesto aiuto sa appena usare Excel, la mole di dati è davvero esigua e, tutto sommato, per cominciare si può anche intraprendere questa strada.

    1. Se non ha Access c'è il runtime gratis proprio per questo.
    2. Che sappia usare Access o meno e poco Excel dovrebbe essere ininfluente: chi prepara il programma (tu) deve fare in modo che interagisca con esso attraverso i sistemi classici: le maschere, arrivando ai report (generati attraverso le maschere) solo per le stampe / generazione di PDF.

    Questo significa che non gli devi lasciare alcun margine di autonomia, al fine di non fargli commettere errori. Quindi niente filtri in base a selezione o amenità tipiche delle tabelle/query aperte in visualizzazione foglio dati. L'utente non deve mai accedere direttamente a tabelle o query (DoCmd.OpenTable o OpenQuery), sempre e solo maschere. Facile? No ma nemmeno troppo difficile. Però devi abbandonare il “tuo modo di usarlo” e porre come punto fermo di non consentire niente se non quello strettamente necessario e questo strettamente necessario glielo devi rendere disponibile tu, con pochi automatismi proposti dall'interfaccia grafica nativa (pulsante destro, scorciatoie, icone sul ribbon o come si chiama mai quell'affare in alto) specie se gira sul runtime ma molto codice vba con pulsanti, listbox e combobox anche per le cose più semplici. Secondo me, poi, di programmi per la gestione di biblioteche pronti per Access ce ne sono da cui scopiazzare se proprio non sono pronti all'uso.

    Torna su Access, Osvaldo, dove sai dare il meglio di te. Excel (credo) esponga l'utilizzatore addirittura a rischi maggiori proprio perché l'utente sa fare alcune cosucce e gli dai la libertà di farle.

  • Re: Creare relazioni e pivot

    Phil…hai perfettamente ragione…la tua risposta mi mette in crisi in questo momento. Attualmente ho dato giusto poche informazioni base su come comportarsi. sostanzialmente gli input riguardano i Libri e i Movimenti. Con pochi logici clic si passa da una tabella all'altra. Per il momento ho preferito lasciare andare in Excel (perché lo conoscono quasi tutti e va più di moda). Nel momento in cui i dati dovessero essere più numerosi e complessi…mi sa che consiglierò vivamente di usare Access. Per lo meno adesso i dati ce li abbiamo già normalizzati…il danno/fatica sarà minimale, ma saranno i miei amici a chiedermelo e io a rendermene conto (a tempo debito).
    Nel frattempo per me era anche pura curiosità capire le potenzialità delle tabelle pivot: facili da creare partendo dai dati del lato molti. Non ho capito come si implementano quando il lato uno è stato già creato.

Devi accedere o registrarti per scrivere nel forum
2 risposte