IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Quand vérifier les liens des tables liées ? [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 10
    Points
    10
    Par défaut Quand vérifier les liens des tables liées ?
    Bonjour,

    Lorsque j'ouvre une base frontale qui ouvre automatiquement un formulaire, une erreur se produit disant que la base dorsale est introuvable.
    C'est tout à fait normal puisque j'ai déplacé cette dernière.
    Je sais rétablir les liens en VBA, ce n'est pas là le problème.

    Mes questions :
    Quand et où peut-on exécuter un test de validité des liens vers les tables liées sans provoquer d'erreur en VBA ?
    Est-il possible de faire apparaître la boîte de dialogue d'access "Gestionnaire de tables liées" automatiquement ?

    Merci,
    Frantisch

  2. #2
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.
    Sujet maintes fois abordé dans le forum. Il y a ici un excellent tuto : http://jdgayot.developpez.com/tutori...cess/liaisons/
    L'intégration dans l'appli frontale d'une solution de gestion des tables liées est de loin la meilleure solution. Et toutes les possibilités sont décrites dans ce tuto.
    Cordialement

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Merci pour la rapidité de la réponse !

    J'ai vu cet article...
    Bien lourd comme solution !
    Je cherche une solution basée sur un événement qui se produirait au niveau d'Access avant même la tentative d'ouverture d'un formulaire...
    Un événement qui donnerait accès à une fonction du genre "Main", notion qui existe dans pas mal d'environnements de développement !

    Encore merci,
    Frantisch

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2014
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Ok, résolu !

    Dans mon cas, l'utilisation d'une macro AutoExec qui fait appel à une fonction de test dans un module VBA a finalement résolu mon problème !
    Rappel : Si le nom d'une macro est AutoExec, elle est exécutée à l'ouverture du fichier de la bd.

    Nom : MacroAutoExec.jpg
Affichages : 639
Taille : 69,2 Ko

    Et le contenu du module 'Start' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    Option Compare Database
    Option Explicit
     
     
    Public Function VérifieLiens()
     
        Dim sMsg      As String
        Dim sFichier  As String
     
        On Error GoTo GestErreur
     
        ' Récupère le nom du fichier de la BD à partir des propriétés
        ' d'une table connue.
        sFichier = Mid(CurrentDb.TableDefs("T_Outils").Connect, 11)
     
        ' Si le fichier de la BD n'existe pas...
        If Dir(sFichier) = "" Then
            ' Construction d'un message expliquant la suite des opérations
            sMsg = "Le chemin des données n'est plus valide." & vbCr & vbCr & _
                   "La boîte de dialogue qui va s'afficher permet" & vbCr & _
                   "la correction de ce problème." & vbCr & vbCr & _
                   "Pour se faire, sélectionnez toutes les cases à cocher" & vbCr & _
                   "de la liste, et cliquez sur OK." & vbCr & _
                   "Choisissez ensuite le chemin où se situe le fichier" & vbCr & _
                   "Out_Resa-Dorsale.accdb"
            ' Information à l'utilisateur
            MsgBox sMsg, vbOKOnly + vbInformation
            ' Ouverture de la fenêtre d'Access "Gestionnaire des tables liées"
            DoCmd.RunCommand acCmdLinkedTableManager
     
        End If
     
    GestErreur:
        If Err.Number <> 0 Then
            MsgBox "Error: " & Err.Number & "  " & Err.Description, vbOKOnly, "VérifieLiens"
        End If
     
    End Function

    a+
    Frantisch

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/05/2015, 10h49
  2. [AC-2007] Rafraichir les liens des tables liées
    Par zoom61 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/02/2010, 09h21
  3. Réponses: 3
    Dernier message: 18/09/2008, 10h05
  4. Réponses: 8
    Dernier message: 30/08/2006, 16h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo