Newsgroup: it.comp.appl.access
Titolo: Inserimento dati in subform detail e dati che scompaiono!!!!

  Scusate l'ignoranza ma non sò come risolvere questo problema!
All'interno di una maschera principale (mForm) ho una sottomaschera di
dettaglio(mDetail) che è collegata alla maschera principale in un rapporto
uno-molti.
Succede questo:
-Se comincio ad inserire i dati nella maschera mForm va tutto bene.....ma se
inizio a valorizzare la sottomaschera per prima ed inserisco alcuni
valori.....una volta che valorizzo i campi principali......mi si cancella
tutto nella sottomaschera.
-Posso evitare di obbligare l'utente ad inserire i dati prima nella maschera
principale e poi nella sottomaschera senza che mi si cancellino i dati.
Come posso fare?
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


Ciao Fabio,
per il tipo di relazione che hai impostato nelle maschere,  devi
necessariamente inserire prima il record lato 1 della relazione e poi i
record lato molti.
Quando tu inserisci i record nella sottomaschera in questi record non viene
valorizzato il campo che determina la relazione tra Maschera principale e
Maschera secondaria, proprio perchè non hai ancora inserito nessun valore
nella maschera principale, probabilmente viene impostato a 0 il campo Chiave
esterna e quando vai a compilare i dati nella maschera principale e salvi il
record la chiave primaria assume un valore diverso da 0 ecco che i record
che avevi inseriti scompaiono,  nota che se guardi nelle tabelle li ritrovi
tutti ma  non sono in relazione con nessun record della tabella principale.
Io ti consiglierei di impedire all'utente di andare a scrivere nella
sottomaschera se prima non ha compilatoi  dati della maschera principale.
Saluti
Cinzia


Ciao Cinzia e grazie anzitutto della risposta!
in effetti alla fine se non troverò soluzione farò proprio come tu mi
suggerisci.
Mi chiedevo però se è possibile inserire automaticamente un nuovo record una
volta che alcuni dati nella sottomaschera sono stati inseriti senza perdere
quanto già digitato.
Grazie dell'aiuto
Ciao



Ciao Fabio,
per farlo dovresti sul Before Insert della sottomaschera,  compilare con dei
dati di default i campi obbligatori della maschera Principale e salvare il
record e vedere cosa succede, se comunque non viene mantenuto il legame,
dopo aver salvato il record principale dovresti assegnare al campo che
stabilisce la relazione il valore che  ha asunto nella form principale.
Qualcosa del Tipo:
me.Parent.Form.DataInserimento.SetFocus
me.Parent.Form.DataInserimento = Date()
me.PArent.Form.Cliente = "CLIENTE"
DoCmd.RunCmd acCmdSaveRecord
me.ID =  
Me.Parent.Form.ID
Ciao
Cinzia

 Come posso fare?
Non puoi inserire un record nella tabella dettagli se prima non è stato
registrato il record cui il record dettagli deve far riferimento; non credo
che ci sia soluzione al tuo problema, anzi, se imposterai, come sarebbe
giusto, l'integrità referenziale per la relazione che lega le due tabelle,
se tenterai di farlo dovresti ricevere anche una segnalazione di errore.
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------