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 :

Renommer une base access après compactage


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 243
    Points : 86
    Points
    86
    Par défaut Renommer une base access après compactage
    bonjour voila un code que je suis en train de faire pour compacter des bases
    dont leurs noms sont situés dans une table

    tout marche bien jusquau renommage....
    jarrive pas à trouver la solution
    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
     
    Private Sub Label30_Click()
    FLASH_cmdButton Me.Name, "Label30", MENU_BACK_REVERSE_COLOR, MENU_BACK_COLOR, 5, True
    Dim r As DAO.Recordset
    Set r = CurrentDb.OpenRecordset("SELECT * FROM [Bases] where Flag=-1")
    Do Until r.EOF
        v = Compact(r![nomcompact], r![Chemin base])
    r.MoveNext
    Loop
    End Sub
     
     
     
     
     
    Public Function Compact(nombase As String, source As String) As Boolean
    Compact = False
            If Right(source, 1) <> "\" Then       ''''retraitement des chemins source et destination
                source = source & "\"
            End If
    Dim nombase1 As String
    Dim nombase2 As String
    nombase1 = source + nombase + ".mdb"
    nombase2 = source + nombase + "temp" + ""
        DBEngine.CompactDatabase nombase1, nombase2
        Kill nombase1
        DoCmd.Rename nombase1, nombase2      'C'est la ou ca bloque!!!!!!
        Compact = True
    End Function



    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    DoCmd.Rename marche pour des objets Access pas pour des fichiers :

    http://access.developpez.com/faq/?re...nommer+fichier
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 243
    Points : 86
    Points
    86
    Par défaut
    c'est pas des fichiers que je manipule mais des bases access, donc des objets access, nom?
    je vais aller voir ton lien...

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    extrait de l'aide sur DoCmd.Rename :

    typeobjet Une des constantes intrinsèques suivantes :
    acDataAccessPage
    acDefault (valeur par défaut)
    acDiagram
    acForm
    acMacro
    acModule
    acQuery
    acReport
    acServerView
    acStoredProcedure
    acTable
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 243
    Points : 86
    Points
    86
    Par défaut
    je ne vois toujours pas....
    error 13 type mismatch

  6. #6
    Membre actif Avatar de ActionAccess
    Inscrit en
    Mars 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 175
    Points : 213
    Points
    213
    Par défaut
    Bonjour,

    Pour renommer un fichier (base access ou autre pdf, txt...), je connais 2 méthodes :

    1 : En utilisant la référence à ajouter "Microsoft Scripting Runtime" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim fs As New Scripting.FileSystemObject
    Set fs = CreateObject("Scripting.FileSystemObject")
    fs.MoveFile "C:\Nom Du Fichier.mdb", "C:\Nom Du Fichier copie.mdb"
    2 : En utilisant l'action Name comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Name "C:\Nom Du Fichier.mdb" As "C:\Nom Du Fichier copie.mdb"
    Espérant avoir répondu à la question.

    Cdlt,
    ActionAccess

Discussions similaires

  1. Renommer une Base
    Par YanK dans le forum Requêtes
    Réponses: 7
    Dernier message: 25/10/2017, 14h24
  2. Faire un reset Des Id d'une base access apres suppression
    Par Smith4400 dans le forum Débuter
    Réponses: 11
    Dernier message: 19/07/2012, 10h36
  3. Réponses: 4
    Dernier message: 20/09/2007, 15h08
  4. compactage d'une base access
    Par tomy29 dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/11/2006, 16h48
  5. [c#] compactage d'une base Access
    Par froggyinfo dans le forum Access
    Réponses: 16
    Dernier message: 26/10/2005, 15h20

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