1. #1
    Membre régulier Avatar de Gabrieel
    Profil pro
    Inscrit en
    juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2004
    Messages : 132
    Points : 105
    Points
    105

    Par défaut Erreur sur procedure de changement de lien table attachée

    Bonjour,

    j'ai une erreur sur procédure de changement de lien de table attachée

    j'ai pour ça définit mes liens en constante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public Const sLienOffLine As String = "C:\Applications\Necarex\wrk\Necarex_db.accdb"
    Public Const sLienOnLine As String = "\\Catbnl\data\Applications\Necarex_db.accdb"
    ensuite j'ai ma fonction ou je passe en paramêtre la table a changer et le lien
    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
    Public Sub SwitchLink(sTable As String, sType As String)
     
        Dim sNewPath As String
        Dim lDbaseStart As Long
        Dim td As TableDef
        Dim sFile As String
        Dim db As DAO.Database
     
        'This is what we look for in the Connect string
        Const sDBASE As String = "DATABASE="
     
        'Set a variable to CurrentDb and to the table
        Set db = CurrentDb
        Set td = db.TableDefs(sTable)
     
        'Whatever your new path is, set it here
        sNewPath = sType
     
        'Find where the database piece starts
        lDbaseStart = InStr(1, td.Connect, sDBASE)
     
        'As long as you found it
        If lDbaseStart > 0 Then
            'Separate out the file name
            sFile = Dir(Mid(td.Connect, lDbaseStart + Len(sDBASE), Len(td.Connect)))
     
            'Rewrite Connect and refresh it
            td.Connect = Left(td.Connect, lDbaseStart - 1) & sDBASE & sNewPath & sFile
            td.RefreshLink
        End If
     
    End Sub
    pour info ça ne marchait sans aucun probleme quand je n'avais pas "variabiliser" le lien. dans la procedure si je remplace par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     sNewPath  = "C:\Applications\Necarex\wrk\Necarex_db.accdb"
    avez vous une idée? j'ai comme erreur "erreur de compilation erreur de syntaxe"

  2. #2
    Rédacteur/Modérateur

    Avatar de Philippe JOCHMANS
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2005
    Messages
    19 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mai 2005
    Messages : 19 496
    Points : 46 991
    Points
    46 991

    Par défaut

    Bonjour

    Et il y a quoi dans sType ?

    Philippe
    Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
    Vous pouvez consulter mes articles sur Access et PowerPoint et n'oubliez pas de consulter les FAQs MS Office

  3. #3
    Membre régulier Avatar de Gabrieel
    Profil pro
    Inscrit en
    juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2004
    Messages : 132
    Points : 105
    Points
    105

    Par défaut

    Citation Envoyé par Philippe JOCHMANS Voir le message
    Bonjour
    Et il y a quoi dans sType ?
    Philippe
    Il y aura soit sLienOffLine, soit sLienOnLine

    pour info j'ai refait et simplifier le code, mais même problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Sub connect(sTable As String, sType As String)
        Set db = CurrentDb
        Set tdf = db.TableDefs(sTable)
        tdf.connect = sType
        tdf.RefreshLink
        Set db = Nothing
        Set td = Nothing
    End Sub

  4. #4
    Membre régulier Avatar de Gabrieel
    Profil pro
    Inscrit en
    juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2004
    Messages : 132
    Points : 105
    Points
    105

    Par défaut

    En me basant sur cette discussion https://www.developpez.net/forums/d1...e/#post6634521

    je sens que c'est lié a la definition des variables, mais j'arrive pas a mettre la main sur ce qui coince!

  5. #5
    Membre régulier Avatar de Gabrieel
    Profil pro
    Inscrit en
    juin 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2004
    Messages : 132
    Points : 105
    Points
    105

    Par défaut

    "Oh p**ain, c'etait bêtement ça?!"

    voila j'ai trouvé il faut enlever les parenthese

    merci a jFontaine qui m'a éclairé grace a ce poste https://www.developpez.net/forums/d1...u/#post6436286

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

Discussions similaires

  1. [AC-2010] Changement de lien tables attachées
    Par Tierisa dans le forum VBA Access
    Réponses: 7
    Dernier message: 21/05/2013, 21h27
  2. erreur sur enum à la creation de la table
    Par mnem0 dans le forum Requêtes
    Réponses: 4
    Dernier message: 08/12/2006, 01h23
  3. [VBA] Erreur sur changement de coleur
    Par darkphenx dans le forum Access
    Réponses: 2
    Dernier message: 17/10/2006, 15h28
  4. Réponses: 13
    Dernier message: 14/02/2006, 17h45
  5. ACCESS modif lien tables attachées
    Par Berched dans le forum Access
    Réponses: 4
    Dernier message: 23/06/2005, 12h08

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