Database gestione dipendenti

di il
4 risposte

Database gestione dipendenti

Ciao a tutti,
sono nuovo del forum. Finora non ho realizzato molti database access, ma ho imparato un po' di elementi che mi hanno consentito di andare avanti da solo, finora. Ora ho un problema che non riesco a risolvere.
Ho creato parte di un database per la gestione dei dipendenti.
TbDipendenti con anagrafica dipendenti e con IDDipendenti e ID delle altre due tabelle
TbCorso con dettagli del corso e con IDCorso e ID delle altre due tabelle
TbFrequenzeCorsi con IDFrequenze, IDDipendenti, IDCorso

Con queste relazioni
1 (IDDipendenti in TbDipendenti) a Molti (IDDipendenti in TbFrequenze)
1 (IDDipendenti in TbCorso) a Molti (IDDipendenti in TbFrequenze)

Ho creato quindi le maschere per inserire i dati:
Maschera Registrazione Corso, con dati dalla tabella corso
Sottomaschera con dati dalla tabella Dipendenti (Nome dipendente) e dalla tabella Frequenze (Efficacia formazione e Metodo valutazione della formazione)

Il problema è che registrando un nuovo corso, quando provo ad inserire dati nella sottomaschera access mi avverte che non può memorizzare il record.

Dove sto sbagliando? Come posso risolvere?

Grazie!!

4 Risposte

  • Re: Database gestione dipendenti

    Hai esposto in modo un po confuso... provo a dire la mia...!

    Di norma la gestione Corsi è un po più articolata.

    La relazione 1-M non è sufficiente, serve qualche relazione MOLTI-MOLTI.

    Tbl Anagrafica
    Tbl Corsi
    Tbl PartecipantiCorsi(iscritti)
    Tbl SessioniCorsi
    Tbl PartecipantiSessioni
    ecc...

    E' evidente che serve rispettare le regole di Normalizzazione quindi di ChiaviPrimarie, Indici e ChiaviEsterne.

    La Tbl Anagrafica va da se che riguarda il Dipendente
    La Tbl Corsi è specifica per il corso ed avrà Titolo, Tipo, Durata, N° sessioni, Max Partecipanti, Luogo ecc...
    La tbl PartecipantiCorsi è quella che realizza il Molti-Molti tra Anagrafica e Corsi, in sostanza sono quelli che dovrebbero fare il corso
    Tbl Sessioni, ogni corso può essere erogato in Molte sessioni
    Tbl PartecipantiSessioni è la Molti-Molti tra PartecipantiCorsi e SessioniCorsi

    Ora banalizando o semplificando al LIMITE le prime 3 sono indispensabili... e la gestione poi è da fare con una Maschera Corsi in visualizzazione singola, una Sottomaschera PartecipantiCorsi in visualizzazione continua all'interno della quale il campo IdDipendente lo realizzi con una ComboBox che pesca come origine Controllo dalla Tabella Anagrafiche... in quel modo l'inserimento avviene nella Tabella intermesia per fare l'associazione.

    Tutte le altre considerazioni poi possono venire dopo...
  • Re: Database gestione dipendenti

    Intanto grazie, Alex. Provo a spiegarmi meglio.

    Ho impostato nel modo "semplificato" e cioè con tre tabelle:
    Tb Anagrafica (contiene una banale anagrafica, più IDCorso e IDPartecipanti)
    Tb Corsi (contiene i dati del corso, più IDDipendenti e IDPartecipanti)
    Tb Partecipanti (contiene anche IDCorso e IDDipendenti)

    Le relazioni le ho impostate in questo modo, proprio tentando una relazione Molti-Molti:
    1-Molti tra Tb Anagrafica [UNO] e Partecipanti [MOLTI] (tramite IdDipendenti, che è chiave primaria in TbAnagrafica)
    1-Molti tra Tb Corsi [UNO] e Tb Partecipanti [MOLTI] (tramite IdCorsi, che è chiave primaria in TbCorsi)

    La maschera è in visualizzazione singola per il corso e contiene la sottomaschera Partecipanti.
    Al momento dell'inserimento dei dati nella sottomaschera, ricevo il messaggio che è "impossibile aggiungere o modificare il record. Nella tabella Anagrafica è necessario un record correlato".

    E non riesco a risolvere questo problema...
  • Re: Database gestione dipendenti

    Se ahi definito nella SubForm(basata sulla Tabella Partecipanti che ha solo 2 campi) il legame con la Form CampiMater/Secondari IdCorso(verifica)... nella TextBox della SubForm associata a IDCorso deve prendere in automatico il valore di IDCorso della Form, poi con la selezione di IDAnagrafica viene inserito il Record che a quel punto ha le 2 FK(che forse sono PK insieme).

    Devi avere qualche cosa di anomalo perchè deve andare...
  • Re: Database gestione dipendenti

    Sto facendo vari alcuni tentativi sperando di venirne a capo.
    Ora il messaggio è che "Il campo non può essere aggiornato". Noto, a questo punto, che nella tabella Dipendenti non viene aggiornato l'IdDipendente con il nuovo corso svolto, ma viene aggiunto un nuovo record (e quindi un ulteriore Id) con il nome del dipendente selezionato.
Devi accedere o registrarti per scrivere nel forum
4 risposte