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 :

Activation et suppression de références dans une autre base [Sources]


Sujet :

VBA Access

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Activation et suppression de références dans une autre base
    bonjour à tous,
    Je souhaite activer des références VBA d'une base access par le module d'une autre base.
    Merci de bien vouloir m'aider

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bonjour

    Je propose ce module :

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    Option Compare Database
     
    'Enumeration permettant de supprimer
    'par fichier ou par nom de références
    Enum ReferenceBy
        FileName
        refname
    End Enum
     
    Function remRef(oAcc As Access.Application, strValue As String, typeValue As ReferenceBy)
    On Error GoTo err
    Dim oref As Reference
    Dim strName As String
     
        If typeValue = FileName Then
            'Cas d'une recherche par nom de fichier
            With oAcc
                For Each oref In .References
     
                    If oref.FullPath = strValue Then
                        strName = oref.Name
                        Exit For
                    End If
                Next
            End With
            If strName = "" Then err.Raise 9
        Else
            strName = strValue
        End If
        'Supprime la référence
        oAcc.References.Remove oAcc.References(strName)
        remRef = True
    fin:
     
    Exit Function
     
    err:
        Select Case err.Number
            Case 9
                MsgBox "Référence non trouvée", vbCritical
            Case 57101
                MsgBox "Impossible de supprimer la référence par défaut"
            Case Else
                MsgBox err.Number & vbCrLf & err.Description, vbCritical
        End Select
     
        Resume fin
     
    End Function
    Function addRef(oAcc As Access.Application, strFilename As String) As Boolean
    On Error GoTo err
        'Ajoute les références
        oAcc.References.AddFromFile (strFilename)
        addRef = True
    fin:
        Exit Function
     
    err:
        Select Case err.Number
            Case 32813
                MsgBox "Référence existante dans le projet spécifié", vbCritical
            Case 29060
                MsgBox "Le fichier de référence n'existe pas ou n'est pas valide", vbCritical
            Case Else
                MsgBox err.Number & vbcrl & err.Description, vbCritical
        End Select
     
        Resume fin
    End Function
     
     
    Sub test()
    'Ouvre une nouvelle base
    Dim oAcc As Access.Application
    Set oAcc = New Access.Application
     
    oAcc.OpenCurrentDatabase ("D:\BDtest.accdb")
    If remRef(oAcc, "C:\Program Files\Microsoft Office\Office12\Excel.exe", ReferenceBy.FileName) Then _
        MsgBox "Référence supprimée"
    If addRef(oAcc, "C:\Program Files\Microsoft Office\Office12\Excel.exe") Then _
        MsgBox "Référence ajoutée"
    If remRef(oAcc, "excel", ReferenceBy.refname) Then _
        MsgBox "Référence supprimée"
     
    oAcc.Quit
    Set oAcc = Nothing
    End Sub

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/05/2009, 19h15
  2. [Débutant] Changer une valeur dans une autre base
    Par Cyphen dans le forum Access
    Réponses: 5
    Dernier message: 18/08/2006, 15h26
  3. Réponses: 8
    Dernier message: 20/07/2006, 14h08
  4. Copier un formulaire dans une autre base
    Par Bercud dans le forum IHM
    Réponses: 2
    Dernier message: 08/06/2006, 12h15
  5. Ajouter un champ dans une autre base Access
    Par scaalp dans le forum Access
    Réponses: 2
    Dernier message: 20/10/2005, 15h34

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