Les mémos

Fermer Tables

Fermer Requêtes

Fermer Formulaires

Fermer Etats

Fermer Modules

Fermer Base

Fermer Automation

Fermer Administration

Fermer Registre

Fermer String

Fermer Email CDO

Fermer Outlook

Fermer Net

Fermer Dates - Heures

Fermer Fichiers

Fermer Références

Fermer Vrac

Je débute...

Fermer La normalisation

Fermer VBA

Attention
Aucun support
par émail !

Utilisez le forum pour les questions/réponses concernant MsAccess et les codes que vous trouverez sur ce site.
Visites

   visiteurs

   visiteurs en ligne

Base - Supprimer les objets

Pour supprimer des objets comme les requêtes, formulaires, états, macros et autres modules d'une base externe, il faut passer par les collections.

La structure de la fonction est telle, qu'il sera simple de commenter la partie non utile ou non souhaitée.

Téléchargez la base contenant la fonction.


Option Compare Database
Option Explicit

Public Function DelAllObject(sBase As String)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'~~ Usage :
'~~ DelAllObject "C:MesFichiersMaBase.mdb"
'~~
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dim acApp As Object
Dim Dbs As DAO.Database, Doc As DAO.Document
Dim Ctn As Container, Qry As QueryDef
Dim sDocName As String

Set acApp = CreateObject("Access.Application")
acApp.OpenCurrentDatabase sBase
Set Dbs = acApp.CurrentDb

With Dbs
'// Query
For Each Qry In .QueryDefs
If Left(Qry.NAME, 1) <> "~" Then
acApp.DoCmd.DeleteObject acQuery, Qry.NAME
End If
Next
.QueryDefs.Refresh
End With
With Dbs.Containers
'// Forms
For Each Doc In !Forms.Documents
sDocName = Doc.NAME
acApp.DoCmd.DeleteObject acForm, sDocName
Next
!Forms.Documents.Refresh
'// Reports
For Each Doc In !Reports.Documents
sDocName = Doc.NAME
acApp.DoCmd.DeleteObject acReport, sDocName
Next
!Reports.Documents.Refresh
'// Scripts
For Each Doc In !Scripts.Documents
sDocName = Doc.NAME
acApp.DoCmd.DeleteObject acMacro, sDocName
Next
!Scripts.Documents.Refresh
'// Module
For Each Doc In !Modules.Documents
sDocName = Doc.NAME
acApp.DoCmd.DeleteObject acModule, sDocName
Next
!Modules.Documents.Refresh
End With

'// Fermer et libérer
acApp.CloseCurrentDatabase
acApp.Quit: Set acApp = Nothing
Dbs.Close: Set Dbs = Nothing

End Function

 


Date de création : 11/03/2008 : 07:03
Dernière modification : 10/06/2015 : 14:56
Catégorie : Base
Page lue 4804 fois


Imprimer l'article Imprimer l'article

Recherche



Lettre d'information
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
Captcha
Recopier le code :
Au sujet de l'auteur
L'auteur qui fréquente (fréquentait) le forum microsoft.public.fr.access a eu le plaisir d'être nommé MVP Office-Access de janvier 2003 à décembre 2011.

Qui sont les MVP ?

Divers ;-)
Nous contacter

Haut