Accueil > > > LISTER LES TABLES SOUS ACCESS
LISTER LES TABLES SOUS ACCESS
Information sur la source
Description
Bon j'ai laissé plusieurs messages sur le forum pour savoir comment lister les tables sous access, et je ne suis pas arrivé à trouver une solution qui me convenait. J'ai donc pris ma tete et mes deux mains pour arriver à ce résultat qui fonctionne très bien !!!
Le principe est simple :
Il s'agit de mettre le nom de toutes les tables d'une BDD access dans une table que l'on appelera "NOM_DES_TABLES". On pourra en option choisir le nom des tables a inscrire (par exemple que les tables dont le nom commence par "Liste"). Attention ce code ne gère pas les erreurs....
Voila j'ai essayé de commenter un maximum pour que tout le monde s'y retrouve et comprenne un petit peu !!!
Source
- ' Déclaration des variables utilisées
- Dim BD1 As Database ' -> Base de donnees
- Dim iCmpt As Integer ' -> Pour compter le nbre de tables de la base
- Dim TD1 As TableDef ' -> Table que nous allons creer : NOM_DES_TABLES
- Dim Fld1 As Field ' -> Champ de la Table NOM_DES_TABLES
- Dim RS1 As Recordset ' -> Pour enregistrer dans NOM_DES_TABLES
- '-----------------------------------------------------------------------------
-
- ' Chemin d'acces a votre base de donnees
- ' Ici la bdd access se nomme "MA_BDD" et se
- ' trouve a la racine du disque dur C
- Set BD1 = DBEngine.OpenDatabase ("c:\MA_BDD.mdb")
- '----------------------------------------------------------------------------
-
- ' Creation de la table "NOM_DES_TABLES"
- Set TD1 = BD1.CreateTableDef("NOM_DES_TABLES")
- '----------------------------------------------------------------------------
-
- ' On crée le champs "NomTables" de type texte et
- ' limité a 50 charactères
- ' c'est cette colonne qui contiendra les noms des tables de la base MA_BDD
- Set Fld1 = TD1.CreateField("NomsTables", dbText, 50)
- '----------------------------------------------------------------------------
-
- ' On l'ajoute a la table "NOM_DES_TABLES"
- TD1.Fields.Append Fld1
- '----------------------------------------------------------------------------
-
- ' On ajoute la table ainsi créee a la base MA_BDD
- BD1.TableDefs.Append TD1
- '----------------------------------------------------------------------------
-
- ' On vide les buffer
- Set TD1 = Nothing
- Set Fld1 = Nothing
- '----------------------------------------------------------------------------
-
- ' On ouvre la table en mode ecriture pour
- ' permettre de rentrer des enregistrements
- Set RS1 = BD1.OpenRecordset("NOM_DES_TABLES", dbOpenTable)
- '----------------------------------------------------------------------------
-
- ' On parcourt la base MA_BDD
- For iCmpt = 1 To BD1.TableDefs.Count
- ' On inscrit les noms scannés dans le debuguer
- Debug.Print BD1.TableDefs(iCmpt - 1).name
- ' ---- Ligne optionnelle ---
- ' on ajoute a la table uniquement les tables dont le nom
- ' commence par "Liste"
- ' left ( chaine , nb_char_a_comparer) comparateur chaine_de_comparaison
- If Left(BD1.TableDefs(iCmpt - 1).name, 5) = "Liste" Then
- RS1.AddNew
- RS1.Fields("NomsTables") = BD1.TableDefs(iCmpt - 1).name
- RS1.Update
- End If
- Next
-
- RS1.Close
- BD1.Close
' Déclaration des variables utilisées
Dim BD1 As Database ' -> Base de donnees
Dim iCmpt As Integer ' -> Pour compter le nbre de tables de la base
Dim TD1 As TableDef ' -> Table que nous allons creer : NOM_DES_TABLES
Dim Fld1 As Field ' -> Champ de la Table NOM_DES_TABLES
Dim RS1 As Recordset ' -> Pour enregistrer dans NOM_DES_TABLES
'-----------------------------------------------------------------------------
' Chemin d'acces a votre base de donnees
' Ici la bdd access se nomme "MA_BDD" et se
' trouve a la racine du disque dur C
Set BD1 = DBEngine.OpenDatabase ("c:\MA_BDD.mdb")
'----------------------------------------------------------------------------
' Creation de la table "NOM_DES_TABLES"
Set TD1 = BD1.CreateTableDef("NOM_DES_TABLES")
'----------------------------------------------------------------------------
' On crée le champs "NomTables" de type texte et
' limité a 50 charactères
' c'est cette colonne qui contiendra les noms des tables de la base MA_BDD
Set Fld1 = TD1.CreateField("NomsTables", dbText, 50)
'----------------------------------------------------------------------------
' On l'ajoute a la table "NOM_DES_TABLES"
TD1.Fields.Append Fld1
'----------------------------------------------------------------------------
' On ajoute la table ainsi créee a la base MA_BDD
BD1.TableDefs.Append TD1
'----------------------------------------------------------------------------
' On vide les buffer
Set TD1 = Nothing
Set Fld1 = Nothing
'----------------------------------------------------------------------------
' On ouvre la table en mode ecriture pour
' permettre de rentrer des enregistrements
Set RS1 = BD1.OpenRecordset("NOM_DES_TABLES", dbOpenTable)
'----------------------------------------------------------------------------
' On parcourt la base MA_BDD
For iCmpt = 1 To BD1.TableDefs.Count
' On inscrit les noms scannés dans le debuguer
Debug.Print BD1.TableDefs(iCmpt - 1).name
' ---- Ligne optionnelle ---
' on ajoute a la table uniquement les tables dont le nom
' commence par "Liste"
' left ( chaine , nb_char_a_comparer) comparateur chaine_de_comparaison
If Left(BD1.TableDefs(iCmpt - 1).name, 5) = "Liste" Then
RS1.AddNew
RS1.Fields("NomsTables") = BD1.TableDefs(iCmpt - 1).name
RS1.Update
End If
Next
RS1.Close
BD1.Close
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc [HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|