Supression de toutes les tables erreurs.

Résolu
jeanluc065 Messages postés 134 Date d'inscription samedi 23 septembre 2006 Statut Membre Dernière intervention 1 juin 2007 - 7 oct. 2006 à 16:26
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 8 oct. 2006 à 18:26
Bonjour à tous,

En access 2002, j'importe en boucle, des fichiers xls et suite à des erreurs de conversion, des tables d'erreur se créent ( erreur, erreur1, erreur2, etc..)
Qui pourrait m'écrire un code pour vérifier l'existence de ces tables "erreur*" et les supprimer ( simplement pour gagner de l'espace mémoire) car çà ne nuit pas au bon fonctionnement de mon application.
Merci d'avance.
JL

9 réponses

cs_wape Messages postés 262 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 19 décembre 2010 12
7 oct. 2006 à 21:00
Bonjour,

Essaye qqch du genre :

Sub Supprimer_Tables()


For Each Td In CurrentDb.TableDefs
   If Td.Name Like "erreur*" Then
      CurrentDb.TableDefs.Delete Td.Name
   End If
Next Td


RefreshDatabaseWindow


End Sub

wape
3
jeanluc065 Messages postés 134 Date d'inscription samedi 23 septembre 2006 Statut Membre Dernière intervention 1 juin 2007
8 oct. 2006 à 06:51
Bonjour Wape,

Merci pour ton coup de main, çà fonctionne du 1er coup. Super !
Bon dimanche.
JL
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
8 oct. 2006 à 08:29
 Bonjour à tous....

Salut Jean-Luc

Je suis intéressé pour pouvoir deleter des tables d'une base Access.
Peux-tu mettre ton bout de code.
Avec "adSchemaTables", je sais lister toutes les tables, mais
je ne connais pas la synthaxe pour en supprimer.

Merci d'avance et bonne journée.
jean-marc

Dim BaseJor : BaseJor = "D:\OxaJor\20061002.MDB"
Call ReadBase(BaseJor)
'###############################################################################
Function ReadBase(BaseJor)
Const adSchemaTables = &h14
Dim Db, Rs
Set Db = CreateObject("ADODB.Connection")
Db.Open  "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & BaseJor
Set Rs = Db.OpenSchema(adSchemaTables)


Do Until Rs.EOF
'MsgBox Rs.Fields("TABLE_NAME").Value
If Left(Rs.Fields("TABLE_NAME").Value, 3) = "E_X" Then MsgBox Rs.Fields("TABLE_NAME").Value
Rs.MoveNext    
Loop
Rs.Close
     
Set Db  = Nothing
Set Rs  = Nothing
End Function
0
jeanluc065 Messages postés 134 Date d'inscription samedi 23 septembre 2006 Statut Membre Dernière intervention 1 juin 2007
8 oct. 2006 à 09:11
Bonjour Jean-Marc,

Moi j'ai juste recopié le code fourni par Wape en changeant le nom exacts de tables "erreur", noms qui se générent automatiquement au gré des importations effectuées.
C'est tout ce que j'ai fait.
Bon dimanche Jean-Marc.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_wape Messages postés 262 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 19 décembre 2010 12
8 oct. 2006 à 13:18
Bonjour Jean-Luc,

Une possibilité serait de passer par une requête SQL. Par exemple pour supprimer toutes les tables dont le nom commence par "E_X" :

(...)

Do Until Rs.EOF
   If Left(Rs.Fields("TABLE_NAME").Value, 3) = "E_X" Then
      Db.Execute "DROP TABLE " & Rs.Fields("TABLE_NAME")
   End If
   Rs.MoveNext
Loop

(...)

wape
0
cs_wape Messages postés 262 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 19 décembre 2010 12
8 oct. 2006 à 13:21
Oups, désolé, mon dernier message était adressé à Jean-Marc (et non à Jean-Luc)...

wape
0
jeanluc065 Messages postés 134 Date d'inscription samedi 23 septembre 2006 Statut Membre Dernière intervention 1 juin 2007
8 oct. 2006 à 13:23
No problemo, vous êtes des super-dévoués !!
merci
jl
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
8 oct. 2006 à 18:19
 Bonjour à tous....

Salut Jean-Luc et Wape,

Merci Wape.
Copier/Coller , testé et approuvé...
Jusqu'une petite question, existe-t-il une doc mélangeant vbs/vba, .mnb..) ??? 
Bonne soirée,
jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
8 oct. 2006 à 18:26
 Re,

Sorry Wape, je ne puis valider ce topic, puisque celui l'est déjà.
L'estime est mémorisée.

jean-marc
0
Rejoignez-nous