Molti a molti - popolare tab.congiunzione da maschera

di
Anonimizzato11562
il
5 risposte

Molti a molti - popolare tab.congiunzione da maschera

Ciao a tutti.
Sto creando un DB e in particolare mi trovo con una relazione MOLTI a MOLTI :

Tab Infortunio:
ID_Infortunio (chiave primaria) contatore
data
città

Tab ParteDelCorpoCoinvolta:
ID_ParteDelCorpo (chiave primaria) contatore
Descrizione_parti

Tab di congiunzione Infortunio_ParteCorpo:
ID_Infortunio (chiave primaria) numerico
ID_ParteDelCorpo (chiave primaria) numerico

Fin qui credo sia chiaro, ad un infortunio corrispondono più parti del corpo coinvolte e viceversa.

Ho creato un'unica maschera in cui si può descrivere l'infortunio. Per la scelta delle parti del corpo ho optato per 10 caselle di controllo(piede,mano,gamba...) che possono essere selezionate simultaneamente.

DOMANDA: HO ALLEGATO L'IMMAGINE DI UNA PARTE DI MASCHERA. Accanto gli zeri che vedete assumono valore se le opzioni vengono selezionate. Non so se mi possono servire.
Ed ora come popolo la tabella di congiunzione? C'è un comando od un procedimento per un principiante come me
(esempio: infortunio 1 parte del corpo 2
infortunio 1 parte del corpo 5)
Allegati:
MASCHERA CORPO
MASCHERA CORPO

5 Risposte

  • Re: Molti a molti - popolare tab.congiunzione da maschera

    La struttura tabelle è corretta. Per le maschere, credo che ti sei complicato la vita, con tutti quei quadratini. In una struttura come la tua, generalmente si preferisce costruire una maschera/sottomaschera (esiste una procedura guidata molto efficente). Siccome hai 2 tabelle gerarchicamente superiori (Infortuni e PartiCorpo) e una inferiore (Infortunio_ParteCorpo), si parte da una delle 2 superiori, io direi Infortuni maschera principale e Infortunio_ParteCorpo come sottomaschera. Si intende che nella sottomaschera avrai la possibilità di selezionare una ParteCorpo, magari sfruttando una casella combinata, che guarda i valori dalla tabella PartiCorpo.
  • Re: Molti a molti - popolare tab.congiunzione da maschera

    Ti ringrazio, allora ci provo.

    (Spero non sia una domanda sciocca)
    L'unica cosa che non ho colto è se poi nella casella combinata contenuta nella sottomaschera si possano selezionare più parti del corpo, per esempio premendo CTRL.

    PS.E' proprio bella Conversano!
  • Re: Molti a molti - popolare tab.congiunzione da maschera

    Tu hai una relazione molti-a-molti, quindi per un Infortunio (in alto nella maschera principale) devi poter associare molti record relativi alle varie PartiCorpo che andrai a selezionare nella casella combinata. Tieni presente che tu oggi avresti individuato soltanto 10 PartiCorpo, ma domani potresti avere necessità di averne molte di più, con la logica che ti ho proposto potrai farlo comodamente, mentre nella maschera a quadratini eri vincolato entro solo quei 10 valori. Spero di non confonderti le idee.
  • Re: Molti a molti - popolare tab.congiunzione da maschera

    Perfetto ci sono riuscito.
    DOMANDA: ora però se volessi vincolare la compilazione del nuovo record e quindidella tabella di collegamento a un tasto (con scritto una cosa del tipo ''salva'' o ''aggiungi nuovo record'' ecc..) come posso fare?

    Spero di spiegarmi..il problema è il seguente: mettiamo che nella fase di inserimento dati io inizi a compilare la sottomaschera ma poi decida di non 'salvare', purtroppo a quel punto la tabella di collegamento è stata compilata istantneamente..ecco perchè vorrei vincolare al click di un tasto l'intera compilazione
  • Re: Molti a molti - popolare tab.congiunzione da maschera

    Non so se si può fare così come lo racconti tu. Per quel che ne so io, quando digiti anche un solo carattere in qualsiasi campo di record nuovo, esso fa scattare automaticamente la sua creazione. Io, per evitare che ciò accada, penserei a una tabella/maschera con identici campi. Potresti compilare i dati in questa e creare delle azioni di confronto fra i campi analoghi e decidere se tale record deve aggiungersi oppure no alla tabella originaria.
Devi accedere o registrarti per scrivere nel forum
5 risposte