Tabelle con specifiche diverse

di Anonimizzato14673 il
8 risposte
Un saluto a tutti, mi chiamo Federico e sono un nuovo iscritto, utilizzo Access da poco tempo e quindi sono un neofita. Avrei bisogno di un aiuto per la creazione di un database per la gestione del magazzino. Il problema è il seguente:
Ho una tabella di macchine M (M1,M2,M3…) ognuno delle quali è costituita da diversi componenti ("Gearboxes", "Motori","cuscinetti"…). In magazzino ho a disposizione diversi componenti gearboxes che per semplicità chiamo G (G1,G2,G3...) aventi caratteristiche diverse. In ogni macchina posso montare più componenti G (ad esempio in M1 posso montare G1, G4...e cosi via ), ma ogni componente G può essere montato su più macchine (M1,M2,M50…). Cosi ho realizzato una relazione molti a molti creando una terza tabella che collega mediante relazione uno a molti le tabelle Gearboxes e Macchine. Il problema sussiste se devo aggiungere un altro componente ad esempio "Motori" che ha una tabella a se stante perchè presenta specifiche diverse da "Gearboxes".
Quello che vorrei realizzare io in un ipotetico report è che per ogni macchina M esempio M1 mi visualizzasse di quali componenti G è costituita, ma anche di quali elementi Motori, cuscinetti etc. e che per ogni componente mi visualizzasse le specifiche.
Un grazie infinite a chi abbia voglia e tempo di aiutarmi.

8 Risposte

  • La relazione Macchine molti-a-molti con Componenti è corretta. Credo semplicemente che tu debba prevedere qualche campo in più nella tabella Componenti che discrimini 2 componenti aventi lo stesso Nome...
    ...rilegggendo tutto, non sono sicuro della risposta. Potresti elencare un po' di record dove evidenzi queste differenze?
  • Grazie Osvaldo per la tempestiva risposta. Posto un'immagine delle relazioni tra tabelle per capire meglio, ho eliminato per il momento i movimenti magazzino per semplificare la spiegazione.



    Nella tabella "Prod_Magazzino", in cui sono raggruppati i componenti che costituiscono la macchina, il campo "categoria" ha una casella combinata collegata ad un'altra tabella con i vari componenti (motori, riduttori, cuscinetti...etc). Mi piacerebbe fare in modo che se seleziono ad esempio la categoria Motori mi uscissero le specifiche dei motori che pesco da un'altra tabella, mentre se seleziono categoria Riduttori o Gearboxes mi uscissero le specifiche per questo componente...
  • Ho bisogno di vedere un po' di record da CATEGORIE.Descrizione.
  • CATEGORIA.Descrizione
    Riduttore
    Motori
    Cuscinetti

    RIDUTTORI
    Size
    Ratio
    Flange
    Position
    Shaft

    MOTORI
    Type
    Size
    Protection
    Pole
    Rpm
    Power

    Come vedi i componenti Riduttori hanno specifiche diverse da "Motori" quindi non posso inserirli all'interno della tabella "Prod_Magazzino"
  • Io chiamerei la tabella CATEGORIA in:
    Componenti
    IDComponente (contatore, chiave primaria)
    Categoria (testo)
    Nome (testo)

    Crea una (nuova) tabella Categorie con un solo campo Categoria (testo, chiave primaria) avente 3 valori Motore, Riduttore, Cuscinetto.
    Relazione Categorie.Categoria uno-a-molti con Componenti.Categoria

    Il campo PROD_MAGAZZINO.Categoria dovrà cambiare nome in IDComponente e diventare Numerico. Prima di fare questo togli la relazione e poi ricostruiscila.
  • Grazie per le dritte, ho modificato le relazione ecco un'immagine

    L'unica cosa che non mi è chiara è come unire le tabelle: riduttori e motori per pescare le specifiche diverse:


  • Non sono un addetto ai tuoi lavori e non comprendo il significato di tutti i campi delle tabelle GEARBOXES e MOTOR. L'ideale sarebbe se tu li spiegassi uno per uno. Altrimenti, vado a naso di largo raggio, potresti fare un'unica tabella dove includi tutti i loro campi (quelli comuni li scrivi ovviamente una volta sola). Quando incontri un campo che non c'entra niente con la specifica dell'uno o dell'altro, lo lasci vuoto.
  • Certo! le ho volute postare solo per mostrare che sono in due tabelle diverse. Nell' esempio più semplice di una bicicletta sarebbe come avere il componente "Ruote" e il componente "Cambio". In uno le specifiche possono essere "peso, materiale, numero raggi", nel secondo ad esempio "rapporti velocità, peso, colore..."
    In effetti nel primo database che ho creato avevo raggruppato nella stessa tabella i vari componenti come consigli te, ma nel report mi sembrava di sprecare spazio inutilmente. Sono alle prime armi con Access quindi molti comandi non li conosco, pensavo esistesse un modo per questo. Ti ringrazio comunque per i consigli mi hai dato mi hanno chiarito altri dubbi che avevo.
Devi accedere o registrarti per scrivere nel forum
8 risposte