Newsgroup: it.comp.appl.access
Titolo: Domanda su allega97.zip di A.Bisio

Dovrei fare un programma per cambiare il collegamento delle Tabelle partendo
da questo ... vedi mio post di oggi "Tabelle collegate cambiare la path"
Per quello che devo fare è ok, devo semplicemente creare una tabella di
appoggio con due campi (tbl_tabelle) uno con il nome della tabella e l'altro
con il nome del db a cui appartiene BE.
Ma non è proprio possibile intercettare via codice il nome di tutte le
tabelle collegate e la path del collegamento ?
scusatemi se ripeto la domanda ma la risposta di Alex nell'altro 3ad mi ha
lasciato con qualche dubbio.
grazie
--
ciao MarcoS
www.marcosanti.it


select su msysobjects
select database from msysobjects where type = 6
--
a.cara 
Togli qualcosa dall'email


Scusa ma questa istruzione non mi č chiara, potresti darmi un aiuto ?


 lasciato con qualche dubbio.
non ho visto l'intervento di Alex ma lo do per buono a scatola chiusa
La mia risposta di prima e' una semplice query che si puo' fare sia
del codice che all'esterno. Tale query restituisce il "path" di tutte
le tabelle collegate. Se non vuoi fare la query e' sufficente un 
bel doppio click sulla tabella MSysObject (e' una tabella di sistema)
se non la vedi e' perche' non hai "flaggato" l'indicatore di 
"Mostra oggetti di sistema". Per fare cio' vai su:
Strumenti->Opzioni scheda Visualizzazione check "Oggetti di sistema"
Fatto cio' te la studi e vedrai che le righe che hanno Type = 6
corrispondono a "tutte" le tabelle collegate ed il campo "Database"
riporta l'esatto path di collegamento
Se i valori di path ti servono all'interno del codice ti fai un ricco
recordset con l'istruzione da me esposta, te lo scorri e ottieni
il path di ciascuna tabella collegata.
Cmq. a questo punto non ho capito cosa ti serva. 
Il codice di antonio serve a ricollegare le tabelle (credo).
Un altro metodo e' andare su:
Strumenti->Utilita' database-> Gestione Tabelle collegate
(se non vedi l'opzione e' perche' non hai installato la "Feature"
leggasi feature


 leggasi feature
Il programma di Bisio seleziona un singolo DB e gli riassocia le tabelle
andando
a leggere una tab che contiene il nome delle tebelle condivise.
Io volevo evitare di creare una tabella e fare tutto da codice.
Utilizzando quel programma non avrei problemi creando una tabella con due
campi, uno che contiene il nome della Tabella e l'altro che contiene il nome
del db (BE).
p.s. il mio FE ha dei collegamenenti in vari BE


 bel doppio click sulla tabella MSysObject
Ho controllato MSysObject, ci sono i dati che mi interessano.
Lunedě proverň ... grazie :-)
--
ciao MarcoS
www.marcosanti.it

 tabelle collegate e la path del collegamento ?
Ti scorri tutto l'insieme tabledefs
Per ogni tabledef testi la proprietà connect.
Se non è "", allora è una tabella allegata e la connect ti da proprio il
path
Antonio

 path
Ti ringrazio per la risposta, avevo già risolto:
For Each MyTab In db.TableDefs
  If Len(MyTab.Connect) > 0 Then    'Per ogni tabella del mio DB che ha una
connessione (>0) aggiorno il Link
    vNameDB = Right(MyTab.Connect, Len(MyTab.Connect) - InStr(MyTab.Connect,
"\TT"))  'Trovo il nome del Database
    i = i + 1
    If (pLanYesNo = True) Then
      MyTab.Connect = ";DATABASE=" & pPathLan & vNameDB       'Associo Path
+ Nome del Database
      Call ProgressBar(i, MyTab.Name, pPathLan & vNameDB)
    ElseIf (pLanYesNo = False) Then
      MyTab.Connect = ";DATABASE=" & pPathLocal & vNameDB
      Call ProgressBar(i, MyTab.Name, pPathLocal & vNameDB)
    End If
    MyTab.RefreshLink                                         'Riattivo il
nuovo Link
  End If
Next
--
ciao MarcoS
www.marcosanti.it
---------------------------------------------------
Non smetteremo di esplorare
E alla fine di tutto il nostro andare
Ritorneremo al punto di partenza
Per conoscerlo per la prima volta
T.S.Eliot
---------------------------------------------------