Bonjour le forum
On peut utilisé soit Docmd.Runsql ou Currentdb.execute pour supprimer les données d' une table. Mais Comment peut on proceder pour faire un raz des données de toutes les tables en une seule fois.
Aladin
Bonjour le forum
On peut utilisé soit Docmd.Runsql ou Currentdb.execute pour supprimer les données d' une table. Mais Comment peut on proceder pour faire un raz des données de toutes les tables en une seule fois.
Aladin
Bonjour,
Tu n'as pas d'autre choix que de procéder table par table...
Il y a quelques années, j'avais pondu une fonction qui remmplissait ce rôle :
Argy
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 Public Function TruncateAllTables(ByVal OnlyLinkedTables As Boolean) As Boolean '--------------------------------------------------------------------------- ' Procedure : TruncateAllTables ' DateTime : 8/06/2005 ' Author : Jean-Philippe AMBROSINO ' Purpose : Delete all [linked] tables of the DB '........................................................................... ' Parameters : OnlyLinkedTables = True ' Return Codes : = True if success '........................................................................... ' Notes : '--------------------------------------------------------------------------- Dim oDB As DAO.Database Dim oTDF As DAO.TableDef Dim SQL As String Dim T As Long On Error GoTo L_ErrTruncateAllTables Set oDB = CurrentDb() For Each oTDF In oDB.TableDefs If Left$(oTDF.Name, 4) <> "MSys" And InStr(oTDF.Name, Chr(126)) = 0 Then SQL = "DELETE * FROM [" & oTDF.Name & "];" If OnlyLinkedTables Then If Len(oTDF.Connect) = 0 Then GoTo L_Next_Table Else T = T + 1 End If End If oDB.Execute SQL, dbFailOnError L_Next_Table: End If Next If OnlyLinkedTables = -1 And T = 0 Then Err.Raise 3078, "Aucune table liée", "Il n'existe pas de tables liées dans cette base de données." End If MsgBox "Toutes les tables " & IIf(OnlyLinkedTables, "liées", "") & " ont été effacées.", vbInformation, "TABLES TRUNCATED" If Not oDB Is Nothing Then oDB.Close TruncateAllTables = True On Error GoTo 0 L_ExTruncateAllTables: Set oTDF = Nothing Set oDB = Nothing Exit Function L_ErrTruncateAllTables: TruncateAllTables = False Select Case Err.Number Case 3376, 3270 Resume Next Case Else MsgBox Err.Description, 48, Err.Source Resume L_ExTruncateAllTables End Select End Function
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.
Ils comptent sur vous...
Web Site ‡ @Mail
Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
MDB Viewer : Visionneuse Access v4.0
*** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***
Bonjour argyronet et le forum
Merci pour ta fonction je vais éssayé de l' adapter.
Aladin
J'ai un truc tout simple pour vider des tables en une seule fois (à adapter à ton code)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub Delete_Tests() DoCmd.SetWarnings False DoCmd.RunSQL ("DELETE * FROM Tests") DoCmd.RunSQL ("DELETE * FROM NReferences") DoCmd.RunSQL ("DELETE * FROM NTests") DoCmd.RunSQL ("DELETE * FROM SaveReferences") DoCmd.RunSQL ("DELETE * FROM Resultats") DoCmd.SetWarnings True MsgBox "Tests supprimés" End Sub
Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.
Ils comptent sur vous...
Web Site ‡ @Mail
Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
MDB Viewer : Visionneuse Access v4.0
*** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***
Effectivement dans ce cas ça devient galère. Je me sert de ça pour des petits développements.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager