Salve a tutti, questo è il mio primo post e colgo l'occasione per salutare la comunità :-).
Veniamo al mio problema. Sto realizzando un db in access per l'azienda in cui lavoro, che si occupa di fornire servizi voip.
Il db dovrebbe gestire i contratti che l'azienda stipula con i vari clienti ma non solo, ogni contratto viene stipulato per l'attivazione di una lina, e ogni linea legata al contratto ha i propri parametri.
Ecco cosa ho fatto, ho creato la tabella contratti(Id_contratto, [Dati del cliente], ....., Attiva), id_contratto è chiave primaria, [dati cliente] sono un insieme di campi con l'anagrafica del cliente, e Attiva è chiave esterna per la tabella attiva che
contiene i dati della relativa linea.
Quindi, Attiva(Id_attivazione, nuova linea, [altri campi]), id attivazione è chiave primaria, legata con attiva in contratti.
Concettualmente ad un contratto può corrispondere solo una linea, e ad una linea corrisponde un solo contratto, bene. Però già si presenta il primo problema perchè creando graficamente la relazione, questa viene vista come 1 a molti, tengo a precisare che
non è questo il problema principale, perchè chi userà il programma sa cosa deve fare, però se lo risolviamo è meglio.
Veniamo invece al mio problema, una volta realizzate le tabelle, sono passato alla creazione delle maschere, ho creato la maschera contratti con tutti i campi, ho cancellato la txt attiva, e ho inserito una sottomaschera realizzata con la tabella attiva
tramite la creazione guidata, con campi master Attiva e campo secondario Id_Attivazione. Il problema è il seguente compilando il contratto dalla maschera immetto i vari campi e poi passo nella sottomaschera a inserire i dati della linea, solo che nella relativa
tabella(contratti) il riferimento non viene inserito e non capisco il perchè.
Facciamo un esempio, inserisco un contratto per Tizio, passo a specificare la linea con id ad es 1 e i relativi campi. Però se passo a controllare nella tabella contratti, nel campo attiva non compare il codice della relativa attivazione, cioè 1 in questo
caso. In pratica è come se non scrivesse nella tabella.
Invece se opero sulle tabelle, e creo prima la linea su Attiva, nella tabella contratti nel campo attiva compare la casella combinata in cui trovo tutti gli id_attivazione e posso scegliere quale mettere, ma non è cosi che deve funzionare, l'inserimento
devo farlo dalla maschera principale per comodita, in modo da non dover aprire più tabelle contemporaneamente.
Spero di essermi spiegato bene, in ogni caso domandate pure.
Ciao e grazie per essere arrivati in fondo xD