Recherche de toutes les tables (OK) mais il y a des données en trop ! [Résolu]

Signaler
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Salut à tous.

J'ai un code pour lister toutes les tables qui fonctionne 'à moitier' (ou trop).
Bref, je vous passe les déclarations et la grosse partie de code :

Dim MesTables As TableDef

For each MesTables in Db.TableDefs
comboNomsTables.AddItem MesTables.Name
Next MesTables

Voilà le résultat :

ListeProduit
MSysAccessStorage
MSysAccessXML
MSysACE s
MSysObjects
MSysQueries
MSysRelationships

ListeProduit, c'est normal, c'est ma table. Par contre le reste ????
Y'a t'il un moyen de ne pas les afficher ?
La solution serait de les supprimer avec RemoveItem mais je ne sais pas si ça s'affiche que sur mon PC ou si ces données s'affichent peu importe l'ordi.

Merci pour vos solutions.

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement !

8 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Tu as un exemple dans cette source là
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Re
Bon, voilà une affaire de réglée.
Pour faire plus joli et éliminer ce vilain label :

For each MesTables in Db.TableDefs
  If Not (qTable.Attributes And TableDefAttributeEnum.dbSystemObject) Then
     comboNomsTables.AddItem MesTables.Name
     i = i + 1
  End If
Next MesTables

J'ai déplacé  l'incrémentation de i car je pense qu'il compte le nombre de tables réellement intéressante ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Salut
Ce sont les tables System d'organisation de la DB.
Pour les éliminer, il suffit de tester les valeurs de l'attibut Db.Attributes :
If (Db.Attributes And TableDefAttributeEnum.dbSystemObject) Then MsgBox "Table System"

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut Jack !

Ben en fait quand je tape Db. il ne me propose pas Attributes. (méthodes ou membre introuvable)
En 1er, c'est la méthode 'Close'

Une idée ?

Merci Jack

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement !
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
21
Salut,

Et si tu envoyais la requête "SHOW TABLES;" à ta base de données ?

Manu
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Merci Jack, ta source m'a bien aidé (et ton code aussi). Voilà ce que j'ai fait

i = 0
Set qTable = Db.TableDefs(i)
For each MesTables in Db.TableDefs
If (qTable.Attributes And TableDefAttributeEnum.dbSystemObject) Then GoTo Saut
comboNomsTables.AddItem MesTables.Name
Saut:
i = i + 1
Next MesTables

Merci encore Jack !!

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement !
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Bon, un p'tit coup de Pub :

http://www.vbfrance.com/code.aspx?ID=38162

Voilà, mon premier programme en VB6. C'est un trieur de doublons (d'une BDD Acces ou Tableur Excel).

Soyez indulgents, je n'ai l'habitude que de travailler avec VBA Excel.

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement !
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut Jack !

Bien vu, je n'ai pas pensé à faire l'inverse (utilisation du Not) et par la même occasion, tu m'enlèves le Saut.
Nickel, je le modifierai dès que je remet ma source à jour pour les autres export. (dans la semaine).

Merci encore Jack.

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement !