Bonjour à tous,
suite à plusieurs topics sur le sujet, je laisse ici mon code qui permet de manipuler les tables d'une base.
Plusieurs approches, selon les choix de programmation des uns et des autres..
Ces fonctions retournent Vrai si elles ont bien fonctionné, elles fonctionnent dans la base en cours.
Lister les tables
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 '***************************** 'fonction de récupération de la liste des tables d'une base par les propriétés VBA 'input = nom de la base 'output = booleen (debug.print) '***************************** Function ListeTablesBase(PathBase As String) As Boolean Dim Db As DAO.Database Dim tempo As TableDef Set Db = DBEngine.OpenDatabase(PathBase) Debug.Print "******LISTE DES TABLES DE LA BASE " & Db.Name & "******" For Each tempo In Db.TableDefs Debug.Print "---------------------------------------------------" Debug.Print tempo.Name Debug.Print tempo.connect Next Debug.Print "********* FIN LISTE *********" End FunctionVider une table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Function ViderTable(NomTable As String) As Boolean On Error GoTo fin CurrentDb.Execute "DELETE * FROM [" & NomTable & "];" ViderTable = True Exit Function fin: ViderTable = False End Function1/ Par les fonctions Access (Docmd)Detruire une table
2/ Par les fonctions VBA par TableDefs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Function DetruireTable2(NomTable As String) As Boolean On Error GoTo fin DoCmd.DeleteObject acTable, NomTable DetruireTable2 = True Exit Function fin: DetruireTable2 = False End Function
3/Par le requêtage SQL (DROP)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Function DetruireTable(NomTable As String) As Boolean On Error GoTo fin CurrentDb.TableDefs.Delete NomTable DetruireTable = True Exit Function fin: DetruireTable = False End Function
N'hésitez pas à poser des questions sur l'utilisation de ces méthodes, qui sont certes optimisables si on veut pinailler, mais suffisamment intuitives pour être comprises par le plus grand nombre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Function DetruireTable3(NomTable As String) As Boolean On Error GoTo fin CurrentDb.Execute "DROP TABLE [" & NomTable & "]" DetruireTable3 = True Exit Function fin: DetruireTable3 = False End Function
Partager