Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > Contribuez

Contribuez Access : Vos contributions. Postez ici vos codes sources, conseils, astuces et autres propositions. Ce forum n'est pas un forum technique mais destiné aux contributions pour www.developpez.com

Réponse
 
Outils de la discussion
Vieux 19/06/2007, 14h11   #1 (permalink)
Membre éprouvé
 
Avatar de cavo789
 
Date d'inscription: mai 2004
Localisation: Racour (province de Liège)
Messages: 487
Par défaut [Sources] SetConnectString - Change la connexion d'une table

J'ai une DB qui reprend des données au jour le jour. En fin de mois, je sauve une copie de ma DB afin d'avoir des chiffres figés. Ma DB en "production" est elle mise-à-jour et pourrait l'être en rétro.

Parfois, je dois lancer une application sur ma DB en production parfois je dois lancer l'application sur une DB figée.

Le code ci-dessous me permet de changer la connexion d'une table pour aller sur une DB.

Un autre exemple d'utilisation serait d'avoir une DB en développement et, une fois l'application développée et testée; migrer la DB vers un environnement en production; ceci en changeant simplement les liens.

Remarque : j'ai simplifié le code. Il y aurait lieu de vérifier l'existence de la table ainsi que du fichier référencé par sConnect.


Code :
 
Public Function SetConnectString(ByVal sTable As String, ByVal sConnect As String) As Boolean
 
Dim bReturn As Boolean
 
   With Currentdb
 
      ' Don't process system table
         
      If Not (.TableDefs(sTable).Attributes And dbSystemObject) Then
 
         If (.TableDefs(sTable).Connect <> "") Then
            
            Err.Clear
               
            On Error Resume Next
               
            .TableDefs(sTable).Connect = ";DATABASE=" & sConnect
               
            ' And refresh the table link (mandatory)
               
            .TableDefs(sTable).RefreshLink
               
            bReturn = (Err.Number = 0)
               
            On Error GoTo 0
               
         End If ' If (.TableDefs(sTable).Connect <> "") Then
 
      End If
           
   End With
 
   On Error GoTo 0
    
   ZSetConnectString = bReturn
   
End Function
 
Christophe

Dernière modification par cavo789 ; 20/06/2007 à 07h11
cavo789 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/06/2007, 22h06   #2 (permalink)
Responsable Outlook
 
Avatar de Dolphy35
 
Date d'inscription: octobre 2004
Localisation: Rennes
Messages: 3 278
Envoyer un message via MSN à Dolphy35 Envoyer un message via Skype™ à Dolphy35
Par défaut

Bonjour Christophe,

merci pour ton code.

moi je préfère utiliser l'attribut dbAttachedTable de la table car il se peut que la bdd possède des tables non liées

autre point intérréssant à faire c'est de lister les tables attachées, modifier la liaison puis d'enlever la table de la liste, ceci permet lors d'un problème de savoir quelle tables ont été liées (bonne idée tof' )

voici le code que j'utilise http://dolphy35.developpez.com/artic...eseaux/#LVII-A

Dolphy
__________________
Initiation au VBA d'Outlook
venez défier mabrute
Je ne réponds pas aux questions techniques par MP
Dolphy35 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/06/2007, 06h54   #3 (permalink)
Membre éprouvé
 
Avatar de cavo789
 
Date d'inscription: mai 2004
Localisation: Racour (province de Liège)
Messages: 487
Par défaut

dbAttachedTable... mais bien sûr !!! En fait, j'ai développé mon code lorsque j'étais sous MS Access 2 et je ne l'ai pas fait évolué depuis.
cavo789 est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > Contribuez

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide