Newsgroup: it.comp.appl.access
Titolo: Grosso problema nell'inserimento dati

Salve a tutti.  :)
Ho grossissimo bisogno di un vostro aiuto.
Devo costruire una maschera di inserimento che mi permetta di inserire
dei record in una tabella sul lato uno di una relazione uno-a-molti.
Il problema è che ogni record andrebbe inserito DOPO che sono stati
già inseriti i relativi record sul lato molti , ed ovviamente
associato a questi SOLO in questo secondo momento.
In pratica l'applicazione prevede che PRIMA siano inseriti N record
sul lato molti (fatture ricevute), non associandoli (ovvero lasciando
il campo foreign key nullo), e POI siano inseriti dei records sul lato
UNO (bonifici con cui POI si pagano le fatture già ricevute),
associandoli ognuno a X record sul lato molti (tramite il riempimento
del loro campo foreign key).
Ho pensato ovviamente ad una maschera bonifici con una sottomaschera
fatture.
Come faccio però a CONTEMPORANEAMENTE inserire un bonifico e
associarvi le fatture che io pago tramite lo stesso bonifico?
Se potete illustratemi sia l'interfaccia che la query associata
(ammesso che non sia necessario DAO.
Grazie
NICK

[cut]
N U N S E P O F A !
--
AC

 ha scritto nel messaggio 
news:6759b957-bee4-4d8f...@r25g2000vbn.googlegroups.com...
Salve a tutti.  :)
Ho grossissimo bisogno di un vostro aiuto.
Devo costruire una maschera di inserimento che mi permetta di inserire
dei record in una tabella sul lato uno di una relazione uno-a-molti.
Il problema � che ogni record andrebbe inserito DOPO che sono stati
gi� inseriti i relativi record sul lato molti , ed ovviamente
associato a questi SOLO in questo secondo momento.
In pratica l'applicazione prevede che PRIMA siano inseriti N record
sul lato molti (fatture ricevute), non associandoli (ovvero lasciando
il campo foreign key nullo), e POI siano inseriti dei records sul lato
UNO (bonifici con cui POI si pagano le fatture gi� ricevute),
associandoli ognuno a X record sul lato molti (tramite il riempimento
del loro campo foreign key).
Ho pensato ovviamente ad una maschera bonifici con una sottomaschera
fatture.
Come faccio per� a CONTEMPORANEAMENTE inserire un bonifico e
associarvi le fatture che io pago tramite lo stesso bonifico?
Se potete illustratemi sia l'interfaccia che la query associata
(ammesso che non sia necessario DAO.
Grazie
NICK
[risposta]
Secondo me � sbagliata la relazione 1 a molti che hai previsto.
Ci potrebbe essere la possibilit� che pi� di un bonifico faccia parte del 
saldo dello stesso gruppo di fatture; in questo caso non hai pi� una 
relazione 1 a molti ma molti a molti; e secondo me � in questa relazione che 
ti dovresti muovere.
Prevedere una tabella (Pagamenti) che collega le altre due:
[bonifici].id --> [pagamenti].idbonifico
[fatture].id --> [pagamenti].idfattura
Si tratta di creare una maschera con origine dati la tabella Pagamenti e 
(per es.) con due controlli casella combinata una con origine record la 
tabella Bonifici (con origine controllo l'id) e l'altro la tabella Fatture 
(con origine controllo sempre sul suo id).
Sceglierai Il bonifico associandolo alla fattura; certo devi riperete "enne" 
volte l'associazione bonifico->fattura ma questo � solo uno dei modi 
operativi possibili.
Ciao.
-- 
Sergio MAZZA 


Cosa intendi per non si può fare?
Se ti riferisci all'impossibilità di risolverlo nel modo a cui pensavo
io per motivi di operazioni non permesse posso capirlo pure.
Ma chiaramente il problema NON è irrisolvibile in teoria.Dunque una
qualche implementazione ci deve essere.
Altrimenti sarebbe imposibile anche il pagamento di un ordine di N
oggetti in un sito di shopping online....
E chiaramente questo è un caso in cui si inseriscono PRIMA gli oggetti
(lato-molti), e POI l'ordine (lato-uno)!
NICK

 qualche implementazione ci deve essere.
Non si puo' fare che nasca prima il figlio della madre!
La relazione fra tabelle e' di tipo logico e ci sta tutta.
Come dice Sergio, nel mondo reale e' di tipo n-m ma, probabilmente, nel 
tuo caso ti va bene cosi'.
Cio' che "non" si puo' fare e' implementare la integrita' referenziale 
(che "fisicizza" la relazione) nel modo in cui hai fatto tu tenendo i 
bonifici come padre.
Quella gestione puoi in qualche modo ottenerla ma senza usare la integrita'.
--
ac