Newsgroup: it.comp.appl.access
Titolo: Creazione automatica records (Principiante)

In una serie di tabelle collegate da una relazione 1a1, vorrei che alla
creazione di un record nella prima (che genera un ID in un campo contatore)
mi venisse automaticamente creato un nuovo record nelle altre replicando il
valore ID.
 Si può fare? come?
Grazie a tutti, Fulvio

 ha scritto nel messaggio
news:3pAd5.6392$sE5....@news.infostrada.it...

Se i record nelle tabelle figlie vanno inseriti solamente nel caso che
contengano qualcosa oltre alla chiave primaria (che deve essere uguale
all'ID della tabella madre e tramite il quale crei le relazioni), è
sufficiente che il Tipo dati della chiave primaria delle tabelle figlie sia
"Numerico" anziché "Contatore", e, se le relazioni tra tabelle sono
corretti, è sufficiente che gli inserimenti nelle tabelle figlie li effettui
tramite sottomaschere della maschera con cui fai gli inserimenti della
tabella madre.
Roberto

 ha scritto nel messaggio
news:mEBd5.6765$sE5....@news.infostrada.it...

OK la chiave primaria è impostata come numero intero nelle tabelle figlie,
vorrei pero poter lasciare anche campi non compilati.
C'è un altra soluzione?
Se potete anche solo suggerirmi una traccia poi sono disposto a studiare.
Grazie, Fulvio

 ha scritto nel messaggio
news:k%Hd5.9323$sE5.1...@news.infostrada.it...

Nella soluzione che ti ho proposto puoi tranquillamente lasciare dei campi
non compilati nella tabelle figlie, il presupposto è che però ce ne deve
essere almeno uno (oltre alla chiave primaria) significativo, altrimenti non
riesci ad ottenere la registrazione di un record tramite la sottomaschera. E
mi sembra che questo non sia concettualmente un limite; a quale scopo
registrare un record che contiene solo la chiave primaria in un database la
cui struttura è quella che tu hai descritto?
Resta il fatto che per aggiornare poi i dati delle tabelle figlie, dovresti
poi organizzarti come ti ho indicato; e vale la pena avere due maschere e
procedure diverse, una per inserire ed una per modificare e/o cancellare i
record delle tabelle figlie?
Comunque, se per motivi che a me sfuggono, vuoi che al momento
dell'inserimento di un record nella tabella madre automaticamente ti venga
registrato un record per ogni tabella figlia, nella maschera tramite la
quale effettui gli inserimenti dei record madre, a fronte dell'evento "Dopo
inserimento", genera del codice VBA che inserisce record che contengono solo
la chiave primaria (copiata tramite codice dalla chiave primaria presente
nella maschera madre) nelle tabelle figlie.
A mio parere vai a complicarti inutilmente la vita, anche perché dovresti
dichiararti tutti i campi delle tabelle figlie (al netto delle chiavi
primarie) come opzionali, perdendo tutti i controlli che Access può
effettuare automaticamente in base alle indicazioni che tu puoi dare nelle
"Proprietà campo" al momento che definisci le tabelle; ciò ti comporterebbe
di scrivere altro codice VBA per la validazione dei campi e delle tabelle
nelle maschere tramite le quali poi effettuerai gli aggiornamenti dei dati
delle tabelle figlie.
Comunque ricordati di aggiungere nelle relazioni tra la tabella madre e le
tabelle figlie l'integrità referenziale, in modo che, quando cancelli un
record della tabella madre, vengano cancellati anche tutti i corrispettivi
record dalle tabelle figlie.
Roberto