Newsgroup: it.comp.appl.access
Titolo: [Help] Consiglio su struttura DB

Buonasera a tutto il Ng.
Veniamo al quesito (cercherò di illustrare la situazione il meglio possibile
perchè è abbastanza difficile da spiegare).
Ho delle tabelle collegate (db3) di cui non voglio modificare i dati (per
ora). Ad es. tbcARTICOLI, tbcCLIENTI, ecc...
Dato che il mio db Access è di supporto al programma gestionale che usa
queste tabelle collegate, ho la necessità di creare, ad es. nuovi articoli,
nuovi clienti, ecc... (che non interesseranno il gestionale db3).
Ho così creato una tabella con uguale struttura a quella collegata, ad es.
tblArticoliInt, tblClientiInt, ecc....
Ho anche la necessità di inserire nuovi campi che interessino tutte e due le
tabelle (campi che il gestionale db3 non possedeva) tipo indirizzoe-mail,
posizionearticolo, ecc... e quindi ho creato una terza tabella, ad es.
tblArticoli, tblClienti, ecc...
Quindi ecco il primo dilemma: come posso collegate tutto questo? Ovvero mi
conviene fare una query di unione sulle due tabelle (tbcARTICOLI union
tblArticoliInt) e poi creare un join uno a uno tra l'union e la tabella
tblArticoli, oppure prima il join e poi l'union.
Che query realizzare? E come gestire il tutto con le form?
Chieda in anticipo scusa per la spiegazione incomprensibile ma se avrete
domande sarò ben lieto di rispondere (anche perchè mi state aiutando a
risolver un mio problema).
Grazie 1000 per l'aiuto e per essere diventati pazzi a capire quello che ho
scritto.


ciao.


ciao.

 wrote in message
a343v2$153cs4$1...@ID-57322.news.dfncis.de...

Grazie innanzi tutto per esserti "calato" dentro il mio problema.
Grazie per la prima risposta: anche a mio parere era la soluzione migliore
(per quanto riguarda lo stesso numero di campi, certo, le due tabelle hanno
la stessa struttura!)
Per quanto riguarda le query e le form intendevo dire come gestire la
visualizzazione, l'inserimento, la modifica dei record attraverso maschere,
se e quali query creare e su quali appoggiare le maschere.
Un modo ad es., che mi dovrete dire se ortodosso:
- creare union tra tbcARTICOLI e tblArticoliInt e, come detto, join con
tblArticoli;
- creare una maschera di lista che si basa sul join precedente che apre la
maschera successiva;
- creare una maschera (magari una sola gestendo i vari inserimenti) per
l'inserimento, la modifica e la cancellazione di record (ovviamente solo
della tabella tblArticoli e per i dati aggiuntivi della tabella tblArticoli)
e per la visualizzazione (del join descritto prima).
Di questo ultimo passaggio avrò sicuramente bisogno di molte dritte su come
creare il tutto e soprattutto come riconoscere la provenienza del record (da
tbcARTICOLI e quindi non modificabile oppure da tblArticoliInt e quindi
moficabile? Magari tramite un flag agggiuntivo nella tabella tblArticoli?).
Spero, anche questa volta, di essere stato chiaro e vi chiedo se può essere
un metodo valido oppure troppo "macchinoso".
Grazie 1000 per l'attenzione e per le eventuali risposte.

 ha scritto nel messaggio
news:a35f7h$haa$1...@pegasus.tiscalinet.it...

La prima cosa che mi viene in mente è che potresti creare l'unione fra due
query che ti consentano di individuare l'origine del record, qualcosa tipo:
Per Articoli Interni una query Qry_ArticoliInt:
SELECT ArticoliInt.Codice, ArticoliInt.Descrizione, "INTERNO" AS SourceTable
FROM ArticoliInt;
Per Articoli Esterni una query: Qry_ArticoliEst
SELECT ArticoliEst.Descrizione, ArticoliEst.Descrizione, "ESTERNO" AS
SourceTable
FROM ArticoliEst;
Poi l'unione una query: UnioneArticoli
SELECT * FROM Qry_ArticoliInt UNION SELECT * FROM Qry_ArticoliEst;
Ed infine il join con gli altri dati:
query: UnioneArticoli_AltriDati
SELECT UnioneArticoli.Codice, UnioneArticoli.Descrizione,
UnioneArticoli.SourceTable, Articoli_AltriDati.DatoA,
Articoli_AltriDati.DatoB
FROM UnioneArticoli LEFT JOIN Articoli_AltriDati ON UnioneArticoli.Codice =
Articoli_AltriDati.Codice;
In questo modo  attraverso il campo fittizzio 'SourceTable' identifichi la
provenienza del record.
Per quanto riguarda le form, io ne farei :
- per la ricerca: listbox con origine query UnioneArticoli_AltriDati
- per la visualizzazione e modifica e aggiunta di  singolo record una
maschera che si apre o sulla tabella ArticoliInt o ArticoliEst a seconda del
record che si è deciso di visualizzare (cambi da codice la proprietà
Originerecord della maschera).
in questo modo ti puoi gestire, in base alla tabella su cui stai lavorando
se abilitare la possibilità di modifiche  o meno.
ciao.

 wrote in message
a3645q$15tnr0$1...@ID-57322.news.dfncis.de...

Per ora ti ringrazio moltissimo per la tua disponibilità e per il tuo aiuto.
Dovrò ritornare sicuramente tra un po' per chiederti / vi (come NG) altri
chiarimenti.
Ancora 1000 grazie.