Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de Delete sur TableDefs

1 réponse
Avatar
Geronimo99
Bonjour
J'ai besoin de synchroniser 2 bases ; une base de référence avec le Code et
l'application et une Base Client contenant les datas, le but étant de mettre
à jour le Code dans la base du Client.
Pour ce faire en passant par une 3ème base relais, j'ai besoinà un moment de
supprimer toutes lesTables et Relations avant de les reimporter.
Lorsque je parcours les Collections TableDefs et Relations de ma Base (For
each xx in etc) pour faire db.tableDefs.Delete de chaque objet, tous les
objets ne sont pas parcourus et donc deleté. !
J'ai tout vérifié et rien à faire.
Par contre en Lisant chaque Objet par For Each etc (et stockant le name de
l'objet dans un tableau) puis en Deletant chaque entrée du tableau, j'arrive
à ce que je veux.
Avez vous connaissance d'un bug quelconque sur ce sujet ?
Où il ya il une autre façon de faire ?

Merci d'avance aux plus chevronnés

1 réponse

Avatar
Jacques
Bonjour,

Voici comment je procède pour vider mes tables. Si cela peut t'aider ...

If fExistTable("Nom_Table") Then
DoCmd.RunSQL "DELETE FROM Nom_Table"
End If


Function fExistTable(strTableName As String) As Boolean

Dim DB As Database
Dim I As Integer
Dim TlbExist As Boolean

Set DB = CurrentDb

TlbExist = False
For I = 0 To DB.TableDefs.Count - 1
If strTableName = DB.TableDefs(I).Name Then
TlbExist = True
Exit For
End If
Next I
Set DB = Nothing

fExistTable = TlbExist

End Function

Autre petite fonction
'Comment récupérer le nom des tables et de leurs champs ?
Public Sub testTable()
Dim DB As DAO.Database
Dim tbd As DAO.TableDef
Dim fld As DAO.Field
Set DB = CurrentDb
For Each tbd In DB.TableDefs
For Each fld In tbd.Fields
MsgBox "Table : " & tbd.Name & " Colonne : " & fld.Name
Next
Next
End Sub


"Geronimo99" a écrit dans le message
de news:
Bonjour
J'ai besoin de synchroniser 2 bases ; une base de référence avec le Code
et

l'application et une Base Client contenant les datas, le but étant de
mettre

à jour le Code dans la base du Client.
Pour ce faire en passant par une 3ème base relais, j'ai besoinà un moment
de

supprimer toutes lesTables et Relations avant de les reimporter.
Lorsque je parcours les Collections TableDefs et Relations de ma Base (For
each xx in etc) pour faire db.tableDefs.Delete de chaque objet, tous les
objets ne sont pas parcourus et donc deleté. !
J'ai tout vérifié et rien à faire.
Par contre en Lisant chaque Objet par For Each etc (et stockant le name de
l'objet dans un tableau) puis en Deletant chaque entrée du tableau,
j'arrive

à ce que je veux.
Avez vous connaissance d'un bug quelconque sur ce sujet ?
Où il ya il une autre façon de faire ?

Merci d'avance aux plus chevronnés