PDA

View Full Version : [Access 2007] Inserimento record rispettando i vincoli di integrità


xool
22-09-2010, 21:28
Salve, non ho mai usato Access 2007 (ma neanche i precedenti) per la creazione di un DB.

Ora ho l'esigenza di crearne uno abbastanza semplice in cui ho 8 tabelle relazionate fra loro.

Conosco abbastanza bene la struttura dei DB e le regole alla loro base, ma non so come fare a creare una maschera che popoli determinate tabelle contemporaneamente e soprattutto con i vincoli sulle chievi delle varie tabelle.

Magari è un semplice campo da usare nelle proprietà della maschera in cui inserire il codice SQL per l'inserimento del record

Faccio un esempio chiarificatore:

Tipicamente dovrò inserire record che riguardano dati anagrafici, concatenati con delle condizioni sociali, delle prestazioni al cliente e della documentazione.

Ogni record inserito quindi deve popolare 4 tabelle diverse relazionate fra loro.

Di seguito un'immagine dello schema del DB:

http://www.divshare.com/img/thumb/12627500-810.JPG

ovvero CF della tabella CLIENTI referenzia le tre tabelle CONDIZIONE_CLIENTE, PRESTAZ_RICHIESTA e DOC_CLIENTE dalle quali mi ricavo sulla base del CF l'ID_CONDIZIONE, l'ID_PRESTAZIONE e L'ID_DOCUMENTO che puntano rispettivamente ad altre tre tabelle da cui recuperare la Condizione, la Prestazione e la Documentazione.
Ignoro per il momento la tabella DOC_NECESSARIA e le sue relazioni perchè tanto mi servirà in seguito.

La cosa che non so fare è dire ad Access attraverso una maschera di inserire tutti questi dati quando inserisco un nuovo nominativo.

Mi immagino un form (quindi maschera in Access) in cui inserisco i dati anagrafici, la sua condizione, le prestazioni richieste dal cliente e la documentazione consegnata e che alla pressione di un pulsante vada a popolare opportunamente le tabelle del DB.

ID_CONDIZIONE, ID_PRESTAZIONE e ID_DOCUMENTO sono dei contatori e dovrebbero essere generati automaticamente da Access all'inserimento di un nuovo record.

Dite sia fattibile?

xool
25-09-2010, 17:41
Nessuno sa darmi qualche suggerimento?

Pensate che sia necessario mettere mani al codice VBA por fare quello che voglio io?