Newsgroup: it.comp.appl.access
Titolo: Tabelle collegate da due db simili, e' possibile?

Devo fare una procedura che confronta i dati presenti su db1 e db2
Db1 e db2 sono due database con struttura identica
Il problema e' quando tento di collegare le tabelle del secondo db
Supponiamo che ogni dbcontenga tre tabelle, articoli, prezzi, clienti
Collegando le tabelle del primo db va tutto bene, si vedono poi dentro 
l'ambiente Access ed i dati sono accessibili
Quando tento di collegare le tabelle del secondo db, usando il seguente 
codice:
-------------------------
Set tdf = CurrentDb.CreateTableDef("TEMP_" & NOME_TABELLA)
tdf.Attributes = dbAttachSavePWD
tdf.SourceTableName = NOME_TABELLA
CurrentDb.TableDefs.Append tdf
-------------------------
 
alla prima tabella del db2 mi salta fuori un errore 3011 sul 
CurrentDb.TableDefs.Append tdf
Anche se come 'nome_tabella' sto indicando un nome diverso dal nome 
reale della tabella db2
Quindi in sostanza le tabelle fisicamente sono
articoli, prezzi, clienti
 
Il ricollegamento tabelle db1 fila liscio usando il codice
-------------------------
Set tdf = CurrentDb.CreateTableDef(NOME_TABELLA)
tdf.Attributes = dbAttachSavePWD
tdf.SourceTableName = NOME_TABELLA
CurrentDb.TableDefs.Append tdf
-------------------------
 
Quando vado a ricollegare le tabelle db2 col codice
-------------------------
Set tdf = CurrentDb.CreateTableDef("TEMP_" & NOME_TABELLA)
tdf.Attributes = dbAttachSavePWD
tdf.SourceTableName = NOME_TABELLA
CurrentDb.TableDefs.Append tdf
-------------------------
 
alla riga CurrentDb.TableDefs.Append tdf mi spara fuori l'errore 3011
Come mai?
 
Possono coesistere come tabelle collegate db1.articoli (che dentro 
Access dovrebbe essere vista come 'ARTICOLI')  db2.articoli (che dentro 
Access dovrebbe apparire come 'TEMP_ARTICOLI')
 

 Access dovrebbe apparire come 'TEMP_ARTICOLI')
 
Si ma non vedo da nessuna parte la definizione della Connection String... da assegnare alla proprietà Connect di TDF, quindi a mio avviso quel codice o non è completo, o crei la stessa tabella 2 volte...
Se poi hai un Client e 2 BE... non capisco dove prenda i riferimenti per il BE.. ne di uno ne del secondo.
 
@Alex

In ogni caso NON si possono chiamare allo stesso modo... metti un suffisso... DB1_NomeTabella e DB2_NomeTabella
 
@Alex


Si, copiando ho dimenticato una riga, in effetti la sequenza di codice 
che uso e' cosi'
 
-------------------------
Set tdf = CurrentDb.CreateTableDef("TEMP_" & NOME_TABELLA)
tdf.connect = stringa_connessione_db(2)
tdf.Attributes = dbAttachSavePWD
tdf.SourceTableName = NOME_TABELLA
CurrentDb.TableDefs.Append tdf
-------------------------
 
Non so cosa tu intenda per 2 be
In effetti non ho due backend ma due diversi db server ai quali mi 
collego, uno e' il db lavoro, l'altro e' un db di test
E l'obiettivo e' confrontare dei record della stessa tabella
Ad esempio vorrei confrontare la tabella articoli del db lavoro e la 
tabella articoli del db di test
Quindi, lavorando su tabelle collegate, volevo capire come fare per 
collegare la tabella ARTICOLI del db di test con altro nome, ad esempio 
TEST_ARTICOLI
 
Quindi supponendo di avere gia' ARTICOLI, PREZZI, CLIENTI del db1, sto 
tentando di collegarmi anche alle tre tabelle ARTICOLI, PREZZI, CLIENTI 
del db2
 
Per far questo, ad esempio con a tabella Articoli, uso il codice:
 
-------------------------
NOME_TABELLA='ARTICOLI'
-------------------------
Set tdf = CurrentDb.CreateTableDef(NOME_TABELLA)
tdf.connect = stringa_connessione_db(1)
tdf.Attributes = dbAttachSavePWD
tdf.SourceTableName = NOME_TABELLA
CurrentDb.TableDefs.Append tdf
-------------------------
Set tdf = CurrentDb.CreateTableDef("TEMP_" & NOME_TABELLA)
tdf.connect = stringa_connessione_db(2)
tdf.Attributes = dbAttachSavePWD
tdf.SourceTableName = NOME_TABELLA
CurrentDb.TableDefs.Append tdf
-------------------------
 
Ma sulla riga finale mi spara fuori un errore 3011
Eppure il nome indicato sulla  seconda
CreateTableDef("TEMP_" & NOME_TABELLA)
e' diverso dal nome tabella precedente
E' questo che si dovrebbe vedere dentro Access, giusto?

 
 
Si certo, ovviamente
Ma si puo' fare anche per collegare due tabelle, stesso nome sui due db 
server (ad esempio ARTICOLI), nome diverso dentro Access (la prima 
Articoli, la seconda Temp_Articoli), da due db diversi?
 
 

 Articoli, la seconda Temp_Articoli), da due db diversi?
 
Il BE è il Backend o Db Server appunto.
Si devi differenziare il Nome.
 
@Alex