Maschera con due sottomaschere

di il
10 risposte

Maschera con due sottomaschere

Scusate, sono nuovo e non pratico di forum e se sto violando delle regole fatelo sapere. Dunque chiedo aiuto essendo principiante di Access per un problema che non so risolvere: cercavo di creare una biblioteca personale con tabella principale così composta:
tabella libri:
id_libro contatore
titolo testo
id libro/armadio numerico

tabella armadi:
id_armadio contatore
armadio testo

la terza tabella che dovrebbe essere
tabella scaffali
id_scaffale
scaffale
come si potrebbe collegare con la seconda? vorrei che un libro si collegasse ad un armadio che sua volta si collegasse ad uno degli scaffali contenuti nello stesso armadio, un altro libro allo stesso armadio ma ad uno scaffale diverso e cosi di seguito, ho cercato di esaminare il database di esempio northvind, ma larelazione che lega clienti a ordini è inversa a quella che desidero io cioè un cliente può avere più ordini e un ordine più prodotti che possono essere presenti sempre gli stessi in più ordini dello stesso cliente o di clienti diversi, ma nel mio caso ho un libro che è presente in un armadio e non in altri armadi e un armadio ha vari scaffali che sono presenti con un identificativo solo in quell'armadio e non in altri armadi.
Spero di essermi spiegato e attendo un aiuto a chi può darmelo
Grazie
Frank44

10 Risposte

  • Re: Maschera con due sottomaschere

    Salve,
    le chiavi esterne dove sono?
  • Re: Maschera con due sottomaschere

    La chiave esterna è presente nella tabella libri con id_libro/armadio, oltre non so proseguire
  • Re: Maschera con due sottomaschere

    La corretta struttura dovrebbe essere questa:

    Armadi
    IDArmadio (PK)
    Armadio

    Scaffali
    IDScaffale (PK)
    Scaffale
    IDArmadio (FK)

    Libri
    IDLibro (PK)
    Libro
    IDScaffale (FK)

    Relazioni:
    Armadi.IDArmadio uno-a-molti Scaffali.IDScaffale
    Scaffali.IDScaffale uno-a-molti Libri.IDScaffale
  • Re: Maschera con due sottomaschere

    Grazie per il momento, proverò
  • Re: Maschera con due sottomaschere

    Scusa ma non capisco la prima relazione
    Armadi.IDArmadio uno a molti con Scaffali.IDScaffale è una relazione di una chiave primaria con un'altra chiave primaria, o sbaglio io?
  • Re: Maschera con due sottomaschere

    Grave mio errore: scusa.
    Armadi.IDArmadio uno-a-molti Scaffali.IDArmadio

    P.S.: Leggendo il titolo...io non gestirei la cosa con maschera/sottomaschera/sotto-sottomaschera. Io lavorerei direttamente in maschera Libri. Il tuo problema somiglia molto a questo
    **
    Vedi se ti può dare altri spunti.
  • Re: Maschera con due sottomaschere

    Grazie dei suggerimenti, ho visto le indicazioni sul forum **
    ma la soluzione consigliata per me è lacunosa, il problema posto era simile al mio ma partendo al contrario in quanto io vorrei una maschera principale basata su libri per poi selezionare armadi e da armadi scaffali, e poi anche invertendo l'ordine non capisco la query proposta a che serve e anche la seconda proposta non mi è chiara con le due caselle combinate, come indicate non si legano fra loro
  • Re: Maschera con due sottomaschere

    O forse sono troppo ignorante
  • Re: Maschera con due sottomaschere

    frank44 ha scritto:


    io vorrei una maschera principale basata su libri per poi selezionare armadi e da armadi scaffali
    OK. Ti serve il meccanismo delle "caselle combinate a cascata" da selezionare dentro la maschera Libri. La prima punterà su Armadi.IDArmadio. La seconda (quella effettiva) punterà su IDScaffale...ma tenendo conto del valore selezionato prima su IDArmadio.
  • Re: Maschera con due sottomaschere

    Quando organizzo un Db mi piace pensare al modo di utilizzo dello stesso, nel caso in specie vedo, tranquilli non vado di matto, un tizio con un carrello
    di libri, che apre un armadio, si dirige verso uno scaffale, sale su una scaletta per arrivare ad un ripiano, si fa porgere il libro dall'aiutante, lo posiziona.
    Domanda : a cosa dovrebbe servire un data base?
    Risposta: a ritrovare il libro nella posizione dove è stato posto.
    Il ragionamento distingue 2 fasi.
    1)Fornire le coordinate al titolo del libro nel momento del posizionamento del libro
    2)cercare nel titolo del libro, semplifico per rendere il concetto più fruibile, per individuare la posizione esatta del libro.
    Per cui io queste tabelle li organizzerei cosi:

    Libri
    IDLibro (PK)
    Libro
    IDArmadio (FK)
    IDScaffale (FK)
    IDFila (FK)

    Armadi
    IDArmadio (PK)
    Armadio
    IDScaffale (FK)
    IDFila (FK)


    Scaffali
    IDScaffale (PK)
    Scaffale
    IDFila (FK)

    Fila
    IDFila (PK)
    Fila

    Detto questo:
    I Malavoglia....IdArmadio(5)...IdScaffale(2)...IdFila(3) costituirebbero le coordinate per trovare il Libro

    Inizia fai una prova...e se trovi difficoltà noi siamo quà
Devi accedere o registrarti per scrivere nel forum
10 risposte