Colegare due database access tra loro

di il
3 risposte

Colegare due database access tra loro

Oggi mi sono cimentato nel collegare due data base access tra loro.
Premetto che sto predisponendo un lavoro complesso che richiede molte tabelle, molte query, molte maschere e molti report possibili, motivo per cui ho deciso di creare 5 database e di relazionarli tra loro per snellire il tutto. Evidentemente dovendo essere connessi tra loro i dati, devono poter interagire e aggiungere, nuovi dati o modificarne/ eliminarne altri vecchi a catena tra loro.
Dal DB su cui effettuavo la prova, ho scelto attraverso la procedura guidata di collegarmi all’origine dati di un altro DB creando una tabella collegata (parrebbe essere semplicemente un collegamento che a termine della procedura appare nella casella di spostamento)
Pertanto o inserito questa nuova tabella fittizia nello specchietto delle relazioni ed ho cercato di creare un a relazione uno a molti tra il mio campo numerico “FLaziendacorrelata” della tabella DATAeInfoEventi del mio database con il campo chiave primaria “IDAzienda” di questa tabella fittizia “1Azienda”.
Di default, le scelte applica integrità referenziale, correla campi a catena e elimina record a catena restano in grigetto e pertanto non consentono di completare la relazione uno a molti, lasciando disponibile una relazione (priva cioè dei simboli “1” e “8” - infinito-).
Come prevedibile , se inserisco nuovi dati nella tabella DATAeInfoEventi, questi vengono aggiunti regolarmente ma non sono univocamente correlati alla tabella 1Azienda, pertanto se per esempio rispetto all’aziendaA dovessi annotare nell’altra tabella 3 o eventi diversi in date differenti non ne avrei poi il riscontro.
Dove sto sbagliando? Esiste un modo per fare ciò che mi propongo?

3 Risposte

  • Re: Colegare due database access tra loro

    Puoi cortesemente fornire qualche precisazione quantitativa quando definisci MOLTE...MOLTE e MOLTE...?
    Il fatto tu abbia optato per 5 database significa:
    Oltre 2GB di dati...?
    Oltre 32000 oggetti tra Tabelle/Queries/Maschere/Report/Moduli
    Che considerando 5 File diventano
    10Gb
    160000 oggetti

    Sei certo di aver fatto le adeguate valutazioni...?
    Se solo le tue esigenze superano qualche 100naio di MB la soluzione non è affatto usare 5 Database... ma un RDBMS Serio...
    Se poi casualmente la tuia esigenza prevedesse l'utilizzo in rete, personalmente anche se servissero 50kb di dati direi che dovresti orientarti su SQL_EXPRESS che è gratuito e puoi interfacciarti via ODBC, linkando le tabelle in modo semplice e sicuro.

    Detto ciò spero anche tu abbia considerato la perdita di prestazioni, facendo una struttura come quella che hai ipotizzato...

    Io nutro delle forti perplessità ma sicuramente sono prevenuto.
  • Re: Colegare due database access tra loro

    @Alex ha scritto:


    Puoi cortesemente fornire qualche precisazione quantitativa quando definisci MOLTE...MOLTE e MOLTE...?
    Il fatto tu abbia optato per 5 database significa:
    Oltre 2GB di dati...?
    Oltre 32000 oggetti tra Tabelle/Queries/Maschere/Report/Moduli
    Che considerando 5 File diventano
    10Gb
    160000 oggetti

    Sei certo di aver fatto le adeguate valutazioni...?
    Se solo le tue esigenze superano qualche 100naio di MB la soluzione non è affatto usare 5 Database... ma un RDBMS Serio...
    Se poi casualmente la tuia esigenza prevedesse l'utilizzo in rete, personalmente anche se servissero 50kb di dati direi che dovresti orientarti su SQL_EXPRESS che è gratuito e puoi interfacciarti via ODBC, linkando le tabelle in modo semplice e sicuro.

    Detto ciò spero anche tu abbia considerato la perdita di prestazioni, facendo una struttura come quella che hai ipotizzato...

    Io nutro delle forti perplessità ma sicuramente sono prevenuto.
    Anticipatamente ti chiedo scusa se mi dilungo nella risposta.
    Capisco le tue perplessità, ti spiego le mie ragioni:
    Relativamente alla tua richiesta su molte, molte e molte , tieni conto che, al momento, il Db cui mi riferivo per la prova che mi accingevo a fare, si compone di 5 tabelle, 11 query e 12 maschere ed il secondo DB di di 10 tabelle( query e maschere da sviluppare), poi comunque ci sono altri 4 Db di cui uno composto da 16 tabelle, 2 query e 5 maschere; uno composto da 15 tabelle, 2 query e 5 maschere; uno composto da 7 tabelle, 4 query e 3 maschere; uno composto da 7 tabelle, 12 query e 8 maschere. Dopo aver messo i relazione tutti questi sicuramente dovrò sviluppare altre maschere e i vari report per ottenere a fine anno grafici, risultati e valutazioni del lavoro svolto.
    Dove lavoro, ho il compito di organizzare un archivio di DATI SENSIBILI relativi tutto il lavoro svolto da operatori appartenenti a diverse strutture organizzative, che interagiscono con altri operatori esterni.
    Dal punto di vista cartaceo si tratta di una cinquina di grossi faldoni all’anno (circa 200 fascicoli, ognuno di questo può contenere svariati documenti relativi ad eventi differenti per tipologia e per date).
    L’archivo deve essere consultabile in qualsiasi momento e a fine anno devo rendicontare ogni punto e virgola del lavoro eseguito da tali operatori e diventa molto complesso (tenuto conto che al contempo svolgo altre mansioni) prendere i fascicoli uno ad uno e rispulciarli dettagliatamente per dare i riscontri che devo rendicontare.
    Ritengo che nel giro di uno, max 2 anni il volume dei dati inseriti dovrebbe superare già i 2GB e tieni conto che fino a quando dove lavoro non provvederanno loro sponte a dotarmi di un software dedicato, dovrò utilizzare il mio rudimentale archivio su access (ottimisticamente ameno 10 anni).
    Relativamente all’ipotesi di utilizzare un RDBMS , apprezzo il tuo suggerimento, ma non ho la minima idea di cosa dovrei fare e su cosa dovrei documentarmi per disporlo.
    Relativamente all’ipotesi di utilizzare il mio archivio su DB inrete, si, potrebbe interessarmi limitato a 4 o 5 operatori, ma visto che si tratta di dati sensibili , ho paura di non essere in grado di fornire a necessaria sicurezza in rete, ma soprattutto ignoro come funzionino SQL_EXPRESS e ODBC.
    Sono certo che la soluzione che teorizzo al momento non sia la migliore, ma mi limito alle mie modeste e ridotte conoscenze , almeno ho una infarinatura di access, che potenzialmente consente lo sviluppo di maschere sia in maniera grafica che con l’uso di VBA (quest’ultimo potenzialmente, come ben sai, sfrutta potenzialità che acces nativamente non offre).
  • Re: Colegare due database access tra loro

    Per i dati che hai fornito, direi che sei molto molto molto lontano dall'aver necessità di 5 database... ne basta ed avanza uno solo.
    Quindi ovviamente farai come vuoi ma metti tutto in un solo db e dedicati all'approfondimento di SQL_EXPRESS ed a come sviluppare client bassti su un RDBMS... perché il tuo sistema in rete se non perfettamente strutturato, il che non significa 10db, ma conoscere molto bene come ottimizzare la gestione dati ed anche come usare le transazioni, come gestire gli accessi concorrenti in multiutenza... si corromperà spesso...
Devi accedere o registrarti per scrivere nel forum
3 risposte