Newsgroup: it.comp.appl.access
Titolo: tabelle collagate

sto cercando di creare una applicazione access2000 formata da 2 database,
uno contiene le tabelle l'altro solo le procedure,maschere, report, ecc.
Le tabelle sul secondo naturalmente, sono collegate al primo. Ora vorrei
evitare di dover ricollegare le tabelle se cambio cartella di installazione.
Pensavo di collegarle semplicemente indicando come directory ".", cioè
directory corrente, poiche i due db sono sulla stessa dir.
Come fare???

 ha scritto nel messaggio
news:fdHAb.13639$i_5....@news.edisontel.com...

Metti le seguenti Funzioni in un Modulo nel FE(dove hai le Mascher,
procedure ecc...)
Questa procedura utilizza DAO 3.51 o altro, quindi devi ricordarti che se
usi Versioni
superiori ad A97 devi impostarla manualmente.
Vai dalla finestra del CODICE----Menù(STRUMENTI)---->Riferimenti(cerca e
seleziona
Microsoft DAO 3.xx)
Io deselezionerei la Libreria di ADO che per access non è molto valida :
Microsoft Activex Data Object 2.x
Quindi:
Public Function LinkTbl()
   Dim rs As Recordset
   Dim strcnn As String
   Dim SQL As String
   Dim dbCurr As Database
   Dim tdfLocal As TableDef
   Set dbCurr = CurrentDb
   SQL = "SELECT Name FROM MsysObjects " & _
         "WHERE ((Type) = 6) " & _
         "ORDER BY Name"
   dbCurr.TableDefs.Refresh
   Set rs = CurrentDb.OpenRecordset(SQL)
   For Each tdfLocal In dbCurr.TableDefs
      With tdfLocal
      If Len(.Connect) > 0 Then
         .Connect = "Ms Access;PWD=TuaPAssword;DATABASE=" &
GetPathPart(Currentdb.Name) & "NomeDBTabelle.mdb"
         .RefreshLink
      End If
      End With
   Next
End Function
Public Function GetPathPart(strPath As String) As String
'*****************************************************************
'Name      : GetPathPart (Function)
'Purpose   : Return Path name ONLY
'Author    : Alessandro Baraldi
'Date      : 23 gennaio 2002
'Called by :
'Calls     :
'Inputs    : strPath="C:\Programmi\DataBase.mdb"
'Output    : GetPathPart="C:\Programmi\"
'*****************************************************************
    Dim intCounter As Integer
    For intCounter = Len(strPath) To 1 Step -1
      If Mid$(strPath, intCounter, 1) = "\" Then
        Exit For
      End If
    Next intCounter
    GetPathPart = Left$(strPath, intCounter)
End Function
Ciao.
@Alex.

 ha scritto nel messaggio
news:bqvhet$al5$1...@lacerta.tiscalinet.it...
Grazie, ci provo...


Come si modifica il codice precedente se invece di essere nella stessa
cartella il file BE si trova da un'altra parte o meglio elenco i percorsi in
una tabella residente nel FE in cui per esempio ho:
nome tabella: tab_path
campo1: contatore
campo2: nome file FE senza estensione ovviamente mdb
campo3: percorso completo ove esiste il BE
campo4: flag Si/No per selezione record
vorrei fare in questo modo la selezione delle tabelle da collegare e
scollegare ogni qualvolta apro il FE per evitare che i miei colleghi
erroneamente colleghino tabelle non pertinenti,grazie.

 ha scritto nel messaggio
news:br1bel$9fe$1...@lacerta.tiscalinet.it...

Sul sito comune trovi tutto quello che serve c'č un esempio di BISO
che si basa giusto su una Tabella appoggio.
In ogni caso basta recuperare il Recordset della Tabella ed usare
il campo3 nel tuo caso ed attribuirlo alla proprietą Connect delle
Tabelle Linkate.
@Alex.

 ha scritto nel messaggio
news:br1l4d$fsg$1...@lacerta.tiscalinet.it...

Grazie, vado a vedere sul sitocomune.