Maschere collegate

di il
4 risposte

Maschere collegate

Salve a tutti, questo è il mio primo post in questo forum e la questione che sto per porvi, per quanto banale, mi sta creando problemi.
Ho creato 3 tabelle in Access 2016 come segue:
tb1
Id_azienda (chiave primaria)
nome_azienda

tb2
Id_lavoratore (chiave primaria)
Id_azienda (numerico)
Nome_lavoratore (testo)
Cognome_lavoratore (testo)

tb3
Id_attività (chiave primaria)
Id_lavoratore (numerico)
descrizione_attività (testo)
data_attività (data/ora)

e le ho collegate tra loro con le seguenti relazioni:

tb1 Id_azienda (chiave primaria) - uno a molti - tb2 Id_azienda (numerico)
tb2 Id_lavoratore (chiave primaria) - uno a molti - tb3 Id_lavoratore (numerico)

Naturalmente ho applicato l'integrità referenziale a ciascuna relazione.

Inserendo i dati direttamente nelle tabelle funziona tutto, mentre se creo una maschera per ciascuna tabella e inserisco i dati la terza tabella mi rimane vuota.
Vorrei lavorare utilizzando solo maschere e non sottomaschere, qualcuno riesce a dirmi dove sto sbagliando?
Grazie in anticipo a coloro che avranno la pazienza di rispondere ad una domanda da dilettante.

4 Risposte

  • Re: Maschere collegate

    Commetti un grosso errore concettuale.
    Pazienza tu non voglia usare Maschere Sottomaschere mi pare gestibile ... ma ciò non toglie il fatto che se inserisci un record lato Molti devi tenere in mente l'integrità referenziale di conseguenza devi prima di tutto valorizzare la FK
    Ovviamente nelle tabelle funziona in quanto lavorano come form-SubForm.

    Di solito pertanto per lavorare in maschera singola si apre la form principale della relazione lato 1 e, si inserisce un button che apra la seconda maschera in modalità acDualog passando come Args la Pk... nella seconda form, quella lato molti, su load si assegna alla proprietà DefaultValue del controllo assocuato alla Fk il valore di Me.OpenArgs...

    In quello.che ho spiegato ci sono molte informazioni che danno per scontato un minimo di basi di programmazione... motivo per cui non ho motivato tutto.
  • Re: Maschere collegate

    plutone23 ha scritto:


    Ho creato 3 tabelle in Access 2016 come segue:
    tb1
    Id_azienda (chiave primaria)
    nome_azienda

    tb2
    Id_lavoratore (chiave primaria)
    Id_azienda (numerico)
    Nome_lavoratore (testo)
    Cognome_lavoratore (testo)

    tb3
    Id_attività (chiave primaria)
    Id_lavoratore (numerico)
    descrizione_attività (testo)
    data_attività (data/ora)
    Siamo sicuri che questa struttura tabelle sia corretta? Secondo la mia logica io rinominerei le tabelle così:
    tab1=Aziende
    tab2=Lavoratori
    tab3=Attività

    Il campo Lavoratori.IDAzienda mi sembra errato. Io metterei il campo Attività.IDAzienda (FK). Di conseguenza le relazioni:
    Aziende.IDAzienda uno-a-molti Attività.IDAzienda
    Lavoratori.IDLavoratore uno-a-molti Attività.IDLavoratore

    Se questo mio ragionamento è errato, vorrei però capire la logica della struttura proposta.
  • Re: Maschere collegate

    OsvaldoLaviosa ha scritto:


    Siamo sicuri che questa struttura tabelle sia corretta? Secondo la mia logica io rinominerei le tabelle così:
    tab1=Aziende
    tab2=Lavoratori
    tab3=Attività

    Il campo Lavoratori.IDAzienda mi sembra errato. Io metterei il campo Attività.IDAzienda (FK). Di conseguenza le relazioni:
    Aziende.IDAzienda uno-a-molti Attività.IDAzienda
    Lavoratori.IDLavoratore uno-a-molti Attività.IDLavoratore

    Se questo mio ragionamento è errato, vorrei però capire la logica della struttura proposta.
    Sempre troppo veloce...
    Osvaldo... ancorché fosse errata la struttura proposta... la tua ipotesi lo è altrettanto... immaginando.che un lavoratore può effettuare molte attività... quindi se proprio servirebbero almeno 4 tabelle di cui 1 per la M-M.
  • Re: Maschere collegate

    Grazie Alex, hai centrato il punto! Purtroppo è molto tempo che non utilizzo più Access e non ricordo più quasi nulla.
    Rileggendo le tue righe mi hai illuminato una parte recondita della memoria, adesso devo capire come fare a mettere in pratica il tuo utilissimo suggerimento.
Devi accedere o registrarti per scrivere nel forum
4 risposte