Ciao a tutti, � la prim che scrivo in questo Forum e vi premetto che non sono di certo un provetto programmatore. Vi descrivo il mio problema, magari sar� un po' lungo ma voglio cercare di essere il pi� chiaro possibile. Ah....sto sviluppando con Visual Studio 2017.....

Ho un database Access (che chiamer� DB Sorgente) che non � stato progettato da me e da me non viene gestito infatti ogni volta che lancio un programma questo Database scaricare da internet gli aggiornamenti dei dati. All'interno di esso vi sono diverse tabelle tutte con chiave primaria ma non vi � alcuna relazione/vincolo tra le tabelle....in sostanza � come se fossero tanti fogli Excel fini a se stessi. Non posso apportare modifiche alla struttura del DB Sorgente poich� altrimenti ogni giorno verrebbero sovrascritte dall'aggiornamento dei dati che ricevo da Internet.

Ho pensato quindi di crearmi un mio DB Access popolato con alcuni dei dati presenti nel DB Sorgente manipolati a mio piacimento e che ovviamente verr� aggiornamento soltanto quando io inserir�, eliminer� o modificher� dei record.

Ho 2 principali problemi:

1) Nella tabella del DB Sorgente alla quale io voglio attingere ci sono ovviamente diversi campi, uno dei quali � chiamato "Classe" ed i cui valori possono essere "005","001","007","003","012" tutti dichiarati come "Testo Breve". Sarebbe stato pi� furbo che chi ha progettato questo DB avesse creato una ulteriore tabella che mappasse il campo "Classe" perch� ovviamente ogni valore "005",001",007" ha una sua descrizione. Questo non � stato fatto. Io ovviamente so a cosa corrispondo i valori "005","001","007" ecc....pertanto nel mio DB mi sono creato una tabella chiamata "Classe" che ha come chiave primaria questi valori e un campo contenente la loro relativa descrizione.
Io vorrei che nel momento in cui vado a caricare i dati del DB Sorgente in una DataGridView i valori del campo "Classe" venissero automaticamente convertiti con le descrizioni attinte dal DB di mia produzione. Come posso fare questo?

2) Analogalmente nel DB Sorgente vi � un Campo "Scadenza" la cui data � espressa anch'essa con formato testo breve, per esempio 20161231. Ovviamente anche in questo caso vorrei che caricando i dati in una DatraGridView il campo "Scadenza" venisse visualizzato cos' "31/12/2016" e non "20161231" come salvato nel DB Sorgente.

Se io carico i dati nella DataGridView utilizzando il metodo Fill, come i dati vengono letti essi vengono immediatamente visualizzati nella DataGridView.
Se io invece carico i dati in un DataTable utilizzando il metodo GetData ho poi la possibilit� di scorrere le righe del DataTable e modificare i valori a mio piacimento ma ovviamente non credo che questo sia un bell'approccio anche perch� nel momento in cui le righe del DataTable sono poche l'operazione � quasi immediata ma visto che le righe da leggere nel DB Sorgente sono circa 50.000 capite anche voi che l'operazione viene rallentata.

Esiste quindi un modo per leggere i dati dal DB Sorgente e automaticamente "accoppiarli" con i valori corretti attinti dal mio DB? Ho provato a documentarmi su INNER JOIN ma qui stiamo parlando di attingere a 2 databse diversi e non a 2 tabelle dello stesso database per cui non mi � semplice capire come fare......

Grazie a tutti
Giacomo