Newsgroup: it.comp.appl.access
Titolo: Consiglio per relazione uno->molti

Ciao e buon inizio settimana a tutti...
Non sono un drago quindi se la risposta è banale chiedo venia in anticipo...
Due tabelle:
1)Azienda
2)Nominativi
Le due tabelle sono in relazione uno -> molti coi campi [Azienda]
[Stabilimento]
Ora, se nella tabella Nominativi inserisco un nominativo appartenete ad un
azienda-stabilimento già presenti nella tabella Azienda chiaramente nessun
problema.
Se invece L'azienda-Stabilimento nn è presente mi dice che nn puo'creare il
record perchè nn trova una corrispondenza nei campi collegati ( e nn
potrebbe essere diversamente).
Ora, vorrei sapere se e come, è possibile fare in modo che se i valori
[azienda] [stabilimento] imessi nella maschera non sono presenti sul lato 1
(cioe' nella tabella Azienda) venga creato automaticamente un record nella
tabella Azienda con questi valori..........
Pensavo di utilizzare due caselle di testo nn associate che facciano prima
il controllo se il valore imesso è presente nel lato 1 e in caso negativo
inseriscano il valore prima in quella tabella, poi sul lato molti.....e
possibile ed è coretto come procedura?...
Non chiedo certo la soluzione solo un consiglio...
Non ho trovato esempi sul sito comune...se mi è sfuggito sarei grato per una
segnalazione.

 ha scritto nel messaggio
news:IFeo9.58585$Eu.13...@twister1.libero.it...

Per introdurre nella maschera di aggiornamento della tabella Nominativi il
valore dello stabilimento nel controllo associato al campo Stabilimento,
invece di una casella di testo usa una casella combinata, che abbia come
origine riga la tabella Azienda od una query basata su di essa.
La casella cambinata deve avere settata a Si la proprietà Solo in elenco.
A questo punto, quando nella casella combinata digiterai il nome di uno
stabilimento che non esiste nella tabella Azienda (e quindi non esiste
neppure nell'elenco della casella combinata) Access attiverà l'evento "Su
non in elenco"; sarà quindi sufficiente generare a fronte di tale evento una
routine in VBA che inserisca un nuovo record nella tabella Azienda che abbia
appunto come descrizione dell'azienda ciò che tu hai digitato nella casella
combinata: puoi fare questo aprendo una maschera di aggiornamento che ha
come origine record la tabella Azienda e quindi facendo un requery della
casella combinata alla chiusura di tale maschera.
Se poi vuoi realizzare il tutto automaticamente e senza usare una maschera
di aggiornamento, vai sul Sito Comune (link qui sotto) e leggiti nella
Sezione Forms la FAQ intitolata "Si può aggiungere un record alla tabella
che è origine riga di una casella combinata senza usare una maschera?".
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

Ottimo quanto suggerito da Roberto su un piano tecnico.
Su un piano procedurale suggerisco di fare diversamente (Motivo: se digiti
erroneamente il dato stabilimento fai un sacco di casini).
Io procedo in genere in questo modo:
Casella combinata. Errore di mancanza di stabilimento.
L'utente fa un doppio click sulla casella combinata e apre la maschera di
inserimento del nuovo stabilimento (che avrà pure qualche dato e farà
qualche controllo...)
A inserimento avvenuto... requery della casella combinata ... e a capo.

 ha scritto nel messaggio
news:IFeo9.58585$Eu.13...@twister1.libero.it...
