Newsgroup: it.comp.appl.access
Titolo: ricollegare tabelle al db corrente

buona sera a tutto il ng, vorrei trovare se possibile risposta a questo
mio quesito, secondo voi, in un database costituito in un back end ed
un front end, dove e' possibile attraverso modalità da decidere
collegare il front end anche ad un archivio. Ora dal momento che
all'apertura del db il F.E. è collegato alle ultime tabelle con cui si
è lavorato, possano essere tabelle facenti parte l'archivio o del
database corrente, la mia domanda e' questa: è possibile fare aprire
il db con le tabelle correnti evitando quindi in caso di dimenticanza
nel ricollegarlo al db corrente di modificare i dati presenti in
archivio??
spero di trovare risposta a questo
ringraziandovi anticipatamente
saluti
Diego

la mia domanda e' questa: č possibile fare aprire
il db con le tabelle correnti evitando quindi in caso di dimenticanza
nel ricollegarlo al db corrente di modificare i dati presenti in
archivio??
saluti
Diego
All'apertura del tuo front end rialleghi le tabelle al file che ti interessa 
con questa funzione
Public Function ConnettiTabelle()
Dim miatable As TableDef
Dim miodb As Database
Dim i As Integer
Set miodb = CurrentDb()
For i = 0 To miodb.TableDefs.Count - 1
    Set miatable = miodb.TableDefs(i)
    miatable.Connect = ";DATABASE=" & "C:\Programmi\miodb.mdb" & ";UID=sa;"
    miatable.RefreshLink
Next i
End Function
Ciao. 

 Ciao.
Non va bene questa procedura, poichè in questo modo Linkeresti
anche le SystemTable e le tabelle che invece devono rimanere
nel FE, non è raro avere tabelle personalizzate nel Client.
Come minimo io modificherei in questo modo.
Set miodb = CurrentDb()
For i = 0 To miodb.TableDefs.Count - 1
     If Len(miatable.Connect)>0 then
      miatable.Connect = ";DATABASE=" & "C:\Programmi\miodb.mdb" &
";UID=sa;"
      miatable.RefreshLink
     end if
 Next i
End Function
Consiglio in ogni caso di andare nel SC alla sezione Tabelle
e vedere quanto altri hanno già sperimentato.
Saluti
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

vi ringrazio entrambi dell'aiuto concessomi...un dubbio pero' mi
assale, sono andato nel Sito Comune è ho anche scaricato gli esempi di
db nella sezione tabelle dove si tratta appunto del riallegare, pero'
nn c'e' nessun esempio che mi delucidi su come riallegarle all'apertura
o forse non ho cercato bene, ho letto e cercato di mettere in pratica
l'esempio di alessandro baraldi 1.28 , metto le istruzioni nel modulo
creo la tabella _linkedTable creo la macro pero' nn mi parte, nel senso
che mi ritorna sempre un errore, dove sbaglio?? devo forse realizzare
qualche form?? vorrei capirne di piu' se fosse possibile.
grazie
Diego

ehm....provo la funzione  di alessandro e mi da un'errore del tipo
variabile o blocco whit non impostato ma perche'??

 variabile o blocco whit non impostato ma perche'??
Prima di tutto trasforma la dichiarazione 
Private Function LinkTbl() As Boolean
in 
Public Function LinkTbl() As Boolean
è un'errore mio.
L'errore invece che ti dà è strano, prova a compilare
e vedi dove si ferma.
Assicurati di avere i Riferimenti alle librerie DAO, se usi
una versione di Access superiore al 97 non sono di Default.
Vai nell'interfaccia di programmazione VBA dal menù strumenti
accedi ai Riferimenti, deseleziona Microsoft Activex Data Object 2.x
e vai a cercare Microsoft DAO 3.6, flaggalo, quindi ricompila.
Facci sapere.


l'errore viene seezionato su questa istruzione:
 If Len(miatable.Connect) > 0 Then  (e' selezionata in giallo)
il messaggio d'errore che mi da è: " Variabile Oggetto o variabile del
blocco Whit non impostata"
ma non capisco il motivo, tutte le variabile sono state dichiarate.
grazie
ciao 
diego

anzi ti posto l'intera funzione.
Public Function ConnettiTabelle()
Dim miatable As TableDef
Dim miodb As Database
Dim i As Integer
Set miodb = CurrentDb()
For i = 0 To miodb.TableDefs.Count - 1
     If Len(miatable.Connect) > 0 Then
      miatable.Connect = ";DATABASE=" &
"C:\Programmi\dbexit\prezzo_be.mdb" & ";UID=sa;"
      miatable.RefreshLink
     End If
 Next i
End Function

 wrote in message
news:1137753009.2...@o13g2000cwo.googlegroups.com

Ovvio che non vada.....!!!
Leggersi però l'help non è una cosa impossibile......!!!!
Public Function ConnettiTabelle()
 Dim miatable As TableDef
 Dim miodb As Database
 Dim i As Integer
 
 Set miodb = CurrentDb()
 For each miatable in miodb.TableDefs
      If Len(miatable.Connect) > 0 Then
       miatable.Connect = ";DATABASE=" &
 "C:\Programmi\dbexit\prezzo_be.mdb" & ";UID=sa;"
       miatable.RefreshLink
      End If
  Next i
End Function
Saluti
@Alex.


FUNZIONA.....GRAZIE ALEX COMUNQUE AVEVO DATO UN'OCCHIATA ALL'HELP, MA
NON AVEVO CONSIDERATO IL FOR EACH