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 > Runtime

Runtime Forum destiné à recevoir toutes vos questions concernant le Runtime (empaquetage, déploiement...)

Réponse
 
Outils de la discussion
Vieux 29/02/2008, 20h34   #1 (permalink)
Membre Confirmé
 
Avatar de curt
 
Date d'inscription: mars 2006
Localisation: Quel que part dans le ciel !
Messages: 248
Par défaut Peut-on lier les tables à l'installation du runtime

Bonsoir à tous,

Ma question est la suivante : j'ai une base (frontal sur poste et dorsal sur serveur) qui devrait être déployée sur plusieurs sites. Le problème est que l'architecture de chaque site peut être différente... Est-il possible de définir le chemin des tables liées au moment de l'installation du runtime sur les postes clients ou bien, tout est défini "en dur" par le développeur sur son poste équipé d'Access avant l'empaquetage ?

Bonne soirée et bon week-end à tous.

Curt
curt est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/02/2008, 21h57   #2 (permalink)
Expert Confirmé Sénior
 
Date d'inscription: octobre 2005
Messages: 2 520
Par défaut

Tu peux le faire par programme mais il faut le prévoir.

Je fait généralement un petit formulaire où je demande à l'utilisateur de me dire où sont les données puis je boucle sur la collection TableDefs et je mets à jour la propriété .Connect des objet TableDef qu'elle contient.

Ça marche trés bien.

A+
__________________
Merci de ne pas poster pour des pb techniques dans les messages privés.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/03/2008, 07h28   #3 (permalink)
Invité de passage
 
Date d'inscription: juillet 2007
Messages: 8
Par défaut

Je crois qu'il faut ajouter un .refreshlink après le .connect.
Sinon, la liaison n'est pas mise à jour.

Enfin, c'est ce que je fais et cela fonctionne,
cheveche est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/03/2008, 10h42   #4 (permalink)
Membre Confirmé
 
Avatar de curt
 
Date d'inscription: mars 2006
Localisation: Quel que part dans le ciel !
Messages: 248
Par défaut

Bonjour à tous, et merci à Cheveche et Marot_r pour les infos.

Auriez-vous un exemple ou un tuto pour expliquer tout ça?
Je serais preneur et peut être d'autres développeurs également.

Encore merci.

Curt
curt est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/03/2008, 17h18   #5 (permalink)
Expert Confirmé Sénior
 
Date d'inscription: octobre 2005
Messages: 2 520
Par défaut

Oui, cheveche, tu as raison il faut faire un refreshlink. Mon explication était partielle.

Voilà un peu bout de code qui fait cela.

Code :
 
Public Function RelinkerTables(prmNomBaseLiee As String, prmCheminBaseLiee As String) As Boolean
    Dim relinkReussi As Boolean: relinkReussi = True
    
    Dim t As TableDef
    Dim db As Database: Set db = CodeDb
    Dim NomBaseLiee As String
    
    If BaseLieeExiste(prmNomBaseLiee, prmCheminBaseLiee) Then
            relinkReussi = True
            
            For Each t In db.TableDefs
            
                If t.Connect <> "" Then
                    NomBaseLiee = LireNomFichier(t.Connect)
                    
                    If NomBaseLiee = prmNomBaseLiee Then
                        t.Connect = ";DATABASE=" & prmCheminBaseLiee & prmNomBaseLiee
                        t.RefreshLink
                    End If
                    
                End If
                
            Next t
            
        Else
            relinkReussi = False
    End If
    
    db.Close: Set db = Nothing
    
    RelinkerTables = relinkReussi
End Function
 
Note il faut adapter le .Connect selon le type de base sur laquelle on se connecte. Celui-ci est pour une base Access.
Code :
 
Private Function BaseLieeExiste(prmNomBaseLiee As String, prmCheminBaseLiee As String) As Boolean
    BaseLieeExiste = (Dir(prmCheminBaseLiee & prmNomBaseLiee) <> "")
End Function
 
__________________
Merci de ne pas poster pour des pb techniques dans les messages privés.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation
NEWS ACCESSF.A.Q AccessF.A.Q VBATutorielsSourcesOutilsLivresAccess TVAccess 2007

Réponse

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

 
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