Newsgroup: it.comp.appl.access
Titolo: Gestione Dati da piu DB.

Salve a tutti, volevo chiedere, agli "anziani" senza offesa, come poter 
gestire un db che:
ha 2 tabelle, anagrafica e contratti, (un anagrafica puo avere piu 
contratti);
il db viene dato a diversi promotori, che in giro per supermercati, centri 
commerciali, etc etc.
compilano la scheda anagrafica con il relativo/i contratti, e a fine 
giornata inviano alla "base" i risultati;
vorrei sapere come progettare in maniera corretta, un eventuale progressivo 
delle anagrafiche censite dai promotori, un progressivo generale del DB Base 
che raccoglie tutti i dati di fine giornata; un metodo esatto per importare 
i dati dai db promotori (query di accodamento, importazione tabella etc 
etc)...
Grazie.

 ha scritto nel messaggio 
news:GhW_k.206912$FR.4...@twister1.libero.it...

Ti risponde un "anziano" di questo NG.
Così come hai strutturato il db (un'anagrafica - molti contratti) e in 
considerazione che ci sono dei promoter
che hanno una copia del db, io aggiungerei una tabella "promoter" e una 
chiave primaria multipla.
Per prima cosa aggiungi la tabella promoter con i campi che vuoi e la chiave 
primaria su IDPromoter di tipo numerico o testo (meglio) del tipo "x" o 
"xx", indicizzata, duplicati non ammessi.
L'anagrafica è strettamente legata ai contratti ma anche al promoter e si 
deve poter trovare con precisione
sia il cliente sia il promoter che ha realizzato il contratto e quindi anche 
il/i contratto/i stipulato/i.
Per identificare l'anagrafica e poter accodare i dati a fine giornata hai 
bisogno di una chiave primaria univoca.
IDAnagrafica (Testo - proveniente dall'anagrafica del promoter) + IDPromoter 
(numerico o testo a tuo piacere). Questo permette di avere certamente chiavi 
univoche sulle anagrafiche:
IDAna 000001 Promoter 1 o A (meglio); chiave-indice = 000001A
IDAna 000001 Promoter 2 o B (meglio; chiave-indice = 000001B
e così via...
Dunque una tabella anagrafica con tutti i campi che vuoi ma con la chiave 
primaria impostata sul campo: IDAnagrafica (indicizzata duplicati non 
ammessi), e che contiene il progressivo + l'id promoter.
Per trovare tutti i clienti di A baserai la ricerca sul settimo carattere o 
settimo e ottavo se decidi per due caratteri che identificano il promoter 
(AA invece di A).
L'anagrafica è risolta: dai db dei promoter accoderai solo le anagrafiche 
nuove.
(nota: così impostata la chiave primaria, potrai avere 999999 anagrafiche 
per ogni promoter)
Ovviamente la tabella anagrafica dei promoter (il db che hanno nei loro 
portatili) sarà assolutamente identica e con la chiave primaria
che sarà sempre del tipo 00000N + A (o AA o quello che vuoi).
Passiamo ora alla tabella "Contratti".
Questa oltre ai campi da te stabiliti dovra avere una chiave primaria 
impostata su due campi:
IDContratto (testo - indicizzato - duplicati ammessi) e ContrattoN 
(numerico - indicizzato - duplicati ammessi)
Il join (la relazione) verra fatto tra IDAnagrafica (TblAnagrafica) e 
IDContratto (TblContratti) - relazione uno a molti - integrità 
referenziale - aggiorna campi correlati a catena - elimina record correlati 
a catena.
La stessa identica tabella sarà presente nel db dei promoter.
A fine giornata potrai accodare facilmente e senza errori i contratti.
Prima accodi le anagrafiche e poi i contratti.
Esempio di cosa accodi per le anagrafiche e proveniente dalla tabella 
Anagrafiche dei promoter (promoter A):
000009A
000010A
000011A
Esempio di cosa accodi per le anagrafiche e proveniente dalla tabella 
Anagrafiche dei promoter (promoter Z):
000009Z
000010Z
000011Z
Identico l'esempio per accodare i contratti ma con l'aggiunta del ContrattoN 
proveniente dalla tblContratti del promoter:
in IDContratto
000009A
000010A
000011A
in ContrattoN
2
3
4
Inutile dire che dovrai prevedere una data e, volendo, un'ora di contratto 
che, ipoteticamente, potrebbero far parte della chiave primaria...ma qui ci 
complichiamo la vita.
Ti resta molto lavoro per realizzare le maschere di immissione e sopratutto 
per creare i semplici algoritmi che ti generano i valori progressivi di 
IDAnagrafica + IDPromoter e, nella maschera (o sottomaschera) "Contratti", 
l'algoritmo che ti genera la chiave primaria (IDContratto che è uguale a 
IDAnagrafica) e l'identificativo proprio (ContrattoN).
Forse è meglio prevedere un campo Sì/No per i record accodati (sì = 
accodati).
Questa che ti ho detto è una possibile struttura, a te il resto.
Ciao, Carlo 

 ha scritto nel 
messaggio news:ghioi1$9vn$1...@tdi.cu.mi.it...

Grandioso ottima guida, per le maschere adatto quelle che ho per il singolo 
promoter, inserendo una login al Db che assegna un codice promotore..
grazie