Newsgroup: it.comp.appl.access
Titolo: Importazione di record da tabelle collegate

Ho due tabelle collegate tramite un campo contatore.
Precisamente la tabella Fatture ha il campo ID fattura = contatore e la
tabella Dettagli Fatture ha il campo di collegamento ID fattura = Numerico
intero lungo.
Questo database viene usato come copie distinte nell'ufficio A e
nell'ufficio B, così ogni ufficio può farsi le proprie fatture
indipendentemente dall'altro ufficio.
Ora è sorta l'esigenza per l'ufficio A di avere nel suo database anche i
record del database dell'ufficio B.
Come faccio ad importare questi record?
Più precisamente, come faccio a ripristinare il collegamento ID fattura
delle due tabelle nel momento in cui accodo i record delle tabelle
dell'ufficio B alle tabelle dell'ufficio A (con l'accodamento i record
aggiunti nella tabella Fatture assumo un nuovo valore del campo ID fattura,
mentre i record aggiunti nella tabella Dettagli Fatture conservano il
vecchio valore del campo ID fattura)?
Considerata che questa esigenza si ripresenterà spesso in futuro, qual è il
modo migliore di risolvere il tutto?
Ringrazio anticipatamente quanti mi aiuteranno.

 ha scritto nel messaggio
news:TE%Uc.121716$OR2.6...@news3.tin.it...

Nella tabella fatture dell'ufficio A aggiungi un campo numerico intero
lungo.
Prima di tutto accoderai i record delle fatture B nelle fatture A facendo
finire il contatore del B nel nuovo campo numerico.
Quindi aggiorni la tabella dettaglio fatture B con una query che mette in
join l'id del dettaglio con il nuovo campo numerico. La query aggiornerà il
campo id del dettaglio con il campo contatore delle fatture A.
Infine accodi il dettaglio fatture B nel dettaglio fatture A.
Tutto questo è automatizzabile con apposite query salvate
Antonio

Gio.Ve ha scritto:

Dividi i due database in FE e BE.
Unifica i due BE in uno solo e condividilo in rete.
Nei due FE collega le tabelle al nuovo BE.
Aggiungi alla tabella fatture (nel BE) un campo ufficio che differenzi le
fatture tra "A", "B", "C", ecc...
Modifica le maschere in modo che ogni ufficio veda solo i propri record
consentendo ad "A" di vedere anche i "B".
C'è un po' di lavoro ma un db progettato così è ben fatto e scalabile, se
dovessi aggiungere un ufficio sarebbe già tutto pronto.
Se aggiungi al FE una sezione di login o un file di configurazione non ti
serve nemmeno gestire due FE diversi, il FE si comporterà in modo diverso
a seconda dell'utente (ufficio) che lo usa.
Oppure: linka nel db di "A" le due tabelle di "B" e basa e maschere su due
query di unione che combinino i record di "A" e "B" (aggiungendo un campo
txt "A" o "B" per evitare problemi di chiave duplicata).
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:TE%Uc.121716$OR2.6...@news3.tin.it...

Potresti anche creare una procedura da codice con ADO, per l'immissione
delle fatture,
leggi il contenuto della tabella riga per riga con un recordeset, lo
aggiungi alla tabella dell'ufficio A, e leggi il nuovo campo contatore che
ti viene generato, e lo usi per collegare le, la tabella Dettagli Fatture,
nella di complicato...

"Antonio Biso" <ch...@NOSPAMetruria.net> ha scritto nel messaggio
news:p20Vc.47774$OH4.1...@twister1.libero.it...

Tutto chiaro.
Ma come faccio ad impedire di copiare i record già importati la 1a volta
quando dovrò reimportare, tra un mese, dall'ufficio B?
GioVe

 ha scritto nel messaggio
news:Xk2Vc.122535$OR2.6...@news3.tin.it...

Le query di accodamento falle in join tra tabelle origine e tabelle
destinazione mettendo join esterno e criterio isnull sotto l'ID della
tabella destinazione
Antonio


Quest'ultima procedura non mi è chiara.
Praticamente che vuol dire basare le maschere su due query di unione?
GioVe


Non mi è chiaro.
Puoi entrare più in dettaglio?
GioVe

 ha scritto nel messaggio
news:US2Vc.122701$OR2.6...@news3.tin.it...

Abbiamo detto per esempio che il dettaglio fattura B, dopo l'aggiornamento
degli ID, va accodata al dettaglio fatture A.
Se tu prepari una query di accodamento in cui metti le due tabelle dettaglio
fatture, le unisci per gli ID con un join, poi ci doppio clic sopra e lo fai
venire con freccia da tabella B a tabella A, quindi accodi i campi di B in A
e infine metti il campo ID della tabella A con sotto il criterio is null.
In questo modo la query ti restituisce tutti i record di B che NON hanno una
corrispondenza in A, e quindi che non sono mai stati importati.
Antonio