Koppelingsbeheer in Access

Status
Niet open voor verdere reacties.

Spiderman

Gebruiker
Lid geworden
8 sep 2000
Berichten
866
Hoi,

Wanneer moet je via Koppelingsbeheer in ms access de tabellen koppeling vernieuwen.

Als ik op mijn PC een nieuwere versie maak van een access bestand, dat via ODBC gekoppeld is met verschillende Databases op een SQL server. En dan deze nieuwere versie ook op de PC's van mijn collega's wil draaien (Zij hebben dus al een oudere versie)

1 -> Moet ik bij mijn collega's altijd de gekoppelde tabellen vernieuwen?
2 -> Alleen als ik een of meerdere tabellen heb veranderd. Of hoeft dit niet omdat de koppelingen in mijn versie wel al goed staan?
3 -> Alleen als ik nieuwe tabellen heb aangemaakt. Of hoeft dit niet omdat de koppelingen op mij versie wel al goed staan?
4 -> Alleen op je eigen PC, als je een aanpassing hebt gedaan in een tabel, of een nieuwe tabel hebt aangemaakt. De PC's van de collega's hoeven niet opnieuw worden gekoppeld.


Weet iemand hier het goed antwoord op. Zo ja graag met een beetje uitleg?

Bij voorbaat dank.
 
Het is altijd verstandig je gekoppelde tabellen te verversen tijdens het opstarten. Zeker als je op een netwerk werkt. Als bijvoorbeeld het UNC pad is veranderd en de paden in je database verwijzen nog steeds naar drive G: dan kan je vreemde foutmeldingen krijgen.
Je kan het koppelen automatiseren. De meeste programmeurs gebruiken daarvoor de volgende code
Code:
Public Function ReconnectTables() As Boolean

    Dim tdf As TableDef
    
    'Assume success
    ReconnectTables = True
    
    For Each tdf In CurrentDb.TableDefs
        If Len(Nz(tdf.Connect, "")) > 0 Then
            tdf.RefreshLink
        End If
    Next tdf
    
Exit_ReconnectTables:
    Exit Function
Err_ReconnectTables:
    MsgBox "Table : " & tdf.Name & " gaf het volgende probleem: " & Err & " - " & Error$, vbExclamation, "ReconnectTables"
    ReconnectTables = False
    Resume Exit_ReconnectTables
End Function
of iets wat erop lijkt. Bijvoorbeeld met een statusbar die aangeeft hoeveel er nog moeten.
Code:
SysCmd acSysCmdInitMeter, "Reconnecting tables ", intAantalTables
Dus ook al heb je niets veranderd aan de tabellen, toch de verbinding verversen. Je wilt niet dat een bepaalde foutmelding daardoor veroorzaakt wordt als het zo eenvoudig is op te lossen. Zet de code in een module en run de code in je AutoExec macro of als eerste actie in het form waarmee je opstart.

Enjoy!
 
Laatst bewerkt:
Het koppelen van tabellen kan een vrij langdurig proces zijn, zeker bij applicaties met heel veel tabellen. Het is dan ook niet nodig om altijd de koppelingen te verversen. Controle of de db op de juiste locatie staat is voldoende.
Bij een nieuwe versie van de FE moet er natuurlijk wel opnieuw worden gekoppeld. Maar dat doe je slechts op één werkstation. Daarna zorg je via een eigen geschreven routine of via een bestaand programma (b.v. http://www.granite.ab.ca/access/autofe.htm) dat de nieuwe versie wordt geïnstalleerd bij de andere gebruikers.
 
Allen bedankt.

@Guus2005: Bedank voor de code. Op deze manier kan ik makelijker bepaalde tabellen vernieuwen i.p.v. alle tabellen.

@Harry46: Als ik het dus goed begrijp, hoeft ik alleen maar de tabellen in mijn versie opnieuw te koppelen, en kan ik deze dan bij de collega's plaatsen.
Ook als ik geen automatische FE update gebruik, en de MDB zelf handmatig kopieer en plak bij de collega's (De Auto FE Update, zal ik dan binnenkort eens uitproberen)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan