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 :

Suppression d'objets en VBA


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 34
    Par défaut Suppression d'objets en VBA
    Bonjour,

    Je cherche un moyen en vba de supprimer les : (en faisant une boucle pour balayer tous les objets de ma base)
    - requêtes
    - formulaires
    - états
    - modules

    d'une base de données.

    Pouvez-vous m'aider.

    Merci

  2. #2
    Membre Expert Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 406
    Par défaut
    Bonjour,

    Une partie de la réponse se trouve http://access.developpez.com/faq/?pa...eTableIfExiste

    Mais je ne peux que t'inviter à faire gaffe et à tester auparavant.

    Bon courage,

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,
    voila de quoi faire
    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
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    Option Compare Database
    Option Explicit
     
    '*****************************
    'fonction de test d'existence d'une table par les propriétés VBA
    'input = nom de la table
    'output = booleen
    '*****************************
    Function DoesTableExist(ByVal NomTable As String) As Boolean
        Dim str As String
        On Error GoTo NoTable
        str = CurrentDb.TableDefs(NomTable).Name
        DoesTableExist = True
        Exit Function
    NoTable:
        Select Case err.Number
            Case 3265
                DoesTableExist = False
        End Select
    End Function
     
    '*****************************
    'fonction de test d'existence d'une table par les requêtes SQL
    'input = nom de la table
    'output = booleen
    '*****************************
    Function DoesTableExist2(ByVal NomTable As String) As Boolean
        Dim rs As DAO.Recordset
        On Error GoTo NoTable
        Set rs = CurrentDb.OpenRecordset("SELECT * FROM [" & NomTable & "]")
        DoesTableExist2 = True
    ExitDoesTable:
        Set rs = Nothing
        Exit Function
    NoTable:
     
        Select Case err.Number
            Case 3078
                DoesTableExist2 = False
        End Select
        Resume ExitDoesTable
    End Function
    Function ViderTable(NomTable As String) As Boolean
    On Error GoTo fin
        CurrentDb.Execute "DELETE * FROM [" & NomTable & "];"
        ViderTable = True
    Exit Function
    fin:
        ViderTable = False
    End Function
     
    Function DetruireTable(NomTable As String) As Boolean
    On Error GoTo fin
        CurrentDb.TableDefs.Delete NomTable
        DetruireTable = True
    Exit Function
    fin:
        DetruireTable = False
    End Function
     
    Function DetruireTable2(NomTable As String) As Boolean
    On Error GoTo fin
        DoCmd.DeleteObject acTable, NomTable
        DetruireTable2 = True
    Exit Function
    fin:
        DetruireTable2 = False
    End Function
     
    Function DetruireTable3(NomTable As String) As Boolean
    On Error GoTo fin
        CurrentDb.Execute "DROP [" & NomTable & "]"
        DetruireTable3 = True
    Exit Function
    fin:
        DetruireTable3 = False
    End Function
     
    Function DetruireRequete(NomRequete As String) As Boolean
    On Error GoTo fin
        CurrentDb.QueryDefs.Delete NomRequete
        DetruireRequete = True
    Exit Function
    fin:
        DetruireRequete = False
    End Function
     
    Function DetruireRequete2(NomRequete As String) As Boolean
    On Error GoTo fin
        DoCmd.DeleteObject acQuery, NomRequete
        DetruireRequete2 = True
    Exit Function
    fin:
        DetruireRequete2 = False
    End Function
     
    Function DetruireEtat(NomEtat As String) As Boolean
    On Error GoTo fin
        DoCmd.DeleteObject acReport, NomEtat
        DetruireEtat = True
    Exit Function
    fin:
        DetruireEtat = False
    End Function
     
    Function DetruireFormulaire(NomFormulaire As String) As Boolean
    On Error GoTo fin
        DoCmd.DeleteObject acForm, NomFormulaire
        DetruireFormulaire = True
    Exit Function
    fin:
        DetruireFormulaire = False
    End Function
     
     
     
     
    Function PresenceEtat(PathBase As String) As Boolean
    Dim Db As DAO.Database
    Dim AccAppl As New Access.Application
    Dim temp As AccessObject
     
        PresenceEtat = False
        With AccAppl
            .OpenCurrentDatabase (PathBase)
            Set Db = .CurrentDb
        End With
     
         For Each temp In AccAppl.CurrentProject.AllReports
                Debug.Print "Presence d'état : " & temp.Name
                PresenceEtat = True
                Exit For
         Next
       Db.Close
       Set AccAppl = Nothing
    End Function
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 34
    Par défaut
    Merci beaucoup, pour vos réponses et je vous tiens au courant.

    A+

Discussions similaires

  1. [VB.NET] Suppression d'objets dans une collection
    Par master56 dans le forum VB.NET
    Réponses: 7
    Dernier message: 03/06/2010, 21h46
  2. [Objets] La programmation Objet et VBA
    Par seb92400 dans le forum Sondages et Débats
    Réponses: 75
    Dernier message: 09/11/2007, 00h35
  3. Objets en VBA
    Par xakool dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/06/2007, 09h55
  4. Hibernate + suppression d'objets dans une collection
    Par Saiyan54 dans le forum Hibernate
    Réponses: 2
    Dernier message: 15/12/2006, 15h39
  5. pb de déclaration d'objet dans vba
    Par bbgprog dans le forum Access
    Réponses: 10
    Dernier message: 01/08/2006, 14h03

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