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

Access Discussion :

fermeture de bases liées


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Points : 18
    Points
    18
    Par défaut fermeture de bases liées
    Bonjour,

    est-il possible de fermer depuis une table contenant du code une table remplie de donnée qui lui est liée ?

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 015
    Points : 24 550
    Points
    24 550
    Par défaut
    supprimer le lien, comme on supprime un objet.

    est-il possible de fermer depuis une table contenant du code une table remplie de donnée qui lui est liée ?
    une base plutot

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut,

    va voir du coté de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    docmd.deleteobject actable,"matable"
    et pour refaire les liaisons du coté de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    docmd.transfertdatabase aclink, ...
    Starec

  4. #4
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Super,
    merci bien, ça va m'éviter de refaire mes requête SQL en DAO

    En revanche Je comprends pas comment ça se fait que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     docmd.deleteobject ac table, "matable"
    détruise la liaison et pas l'objet ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Re

    Je n'ai jamais testé avec une liaison, as-tu fait un raffraichessement de la fenêtre table ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    currentDB.tabledefs.refresh
    il me semble

    Starec

  6. #6
    Membre à l'essai
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    re,

    Sur vos conseils j'ai fait quelques lignes qui marchent bien :

    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
    40
    41
     
    Dim db As DAO.Database
    Dim tb As DAO.TableDef
     
    Dim NomBase As String
    Dim NomBaseTmp As String
     
    Dim i As Integer
    Dim j As Integer
    Dim t(0 To 10) As String
     
    Set db = CurrentDb
    i = 0
     
    'récupère le nom des tables liées et les détruits
     
    For Each tb In db.TableDefs
        If Left(tb.Name, 4) <> "MSys" Then
           If Len(tb.Connect) > 0 Then
               t(i) = tb.Name
               DoCmd.RunSQL "DROP TABLE [" & tb.Name & "] ;"
               i = i + 1
           End If
        End If
    Next tb
     
     
    'compacte la base de données
     
    NomBase = CurrentProject.Path & "\mabase.mdb"
    NomBaseTmp = CurrentProject.Path & "\BaseTmp.MDB"
    DBEngine.CompactDatabase NomBase, NomBaseTmp
    Kill NomBase
    Name NomBaseTmp As NomBase
     
     
    'à partir des noms récupérés, rétablit les liaisons
     
    For j = 0 To i - 1
    DoCmd.TransferDatabase acLink, "Microsoft Access", sNomBase, acTable, t(j), t(j)
    Next j
    merci à vous

  7. #7
    Invité
    Invité(e)
    Par défaut
    Re

    Content de t'avoir aidé, mais le Tag Resolu

    Starec

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

Discussions similaires

  1. trouver les bases liées
    Par idiot dans le forum VBA Access
    Réponses: 7
    Dernier message: 10/12/2007, 08h02
  2. Fermeture automatique base
    Par cjacquel dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/09/2007, 14h35
  3. Supprimer le lien vers la base liée
    Par vcattin dans le forum Access
    Réponses: 7
    Dernier message: 29/05/2007, 21h50
  4. Ouverture et fermeture de base très lent...
    Par Tofdelille dans le forum Installation
    Réponses: 6
    Dernier message: 19/09/2006, 18h51
  5. Insert dans 2 bases liées
    Par borreu dans le forum Access
    Réponses: 1
    Dernier message: 24/02/2006, 12h07

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