Obtenir une liste de tables à partir de la base de données Access<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour,
J'essaie de créer un userform dans l'application builder, en utilisant des fonctionnalités natives et pourquoi pas, JSL. J'ai des idées et maintenant je dois continuer...
Tout d'abord, est-ce que quelqu'un sait comment je peux obtenir une liste de toutes les tables de ma base de données Access ? Bien sûr, cette liste serait sur le formulaire utilisateur.
Merci pour votre soutien, je commence à manipuler JMP 11.
Re : Obtenir une liste de tables à partir de la base de données Access- Créez un module dans access et collez ce code.
- Exécuter dans la fenêtre de débogage
- Copiez la liste de tables générée dans la fenêtre immédiate.
Public Sub List_fields_in_tables()
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
For Each tdf In CurrentDb.TableDefs
If Left(tdf.Name, 4) <> "MSys" Then
Debug.Print
Debug.Print
Debug.Print tdf.Name
Debug.Print "----------------------------------------"
For Each fld In tdf.Fields
Debug.Print fld.Name & Space(20 - Len(fld.Name)) & fld.Size & Space(10 - Len(Str(fld.Size))) & FDataType(fld.Type)
Next fld
End If
Next tdf
End Sub
Private Function FDataType(intType As Integer) As String
Dim RetString As String
Select Case intType
Case 1
RetString = "Boolean"
Case 8
RetString = "Date"
Case 3
RetString = "Integer"
Case 7
RetString = "Double"
Case 10
RetString = "String"
Case 4
RetString = "Long Integer"
Case Else
RetString = "Unknown"
End Select
FDataType = RetString
End Function

Re : Obtenir une liste de tables à partir de la base de données AccessMerci Éric,
juste pour être très clair et plus complet, j'ai ensuite utilisé celui-ci :
"SELECT MSysNameMap.Name FROM MSysNameMap WHERE (MSysNameMap.Type = 1)"
et puis:
pour chaque ligne (List1 << append(:Name))
--> fonctionne parfaitement !
Merci encore.
Re : Obtenir une liste de tables à partir de la base de données AccessLa plupart des bases de données ont des vues système sur lesquelles vous pouvez écrire des requêtes SQL pour obtenir des listes de toutes les tables de la base de données qui correspondent à une clause WHERE, etc.Je n'ai pas MS Access, mais en faisant quelques recherches sur Google, quelque chose comme ceci peut fonctionner pour vous :
SELECT MSysObjects.Name FROM MSysObjects WHERE (MSysObjects.Type = 1);
Vous pouvez également essayer " OÙ (MSysObjects.Type = 6) " comme la clause WHERE.Donc, vous pouvez utiliser le JSL Ouvrir la base de données fonction pour soumettre cette requête à MS Access, ce qui vous donnerait une table de données JMP contenant les noms de table Access, que vous pourriez ensuite parcourir en utilisant Pour chaque ligne.
Voici les liens vers où j'ai trouvé les informations MS Access :
ms access - instruction sql pour renvoyer tous les champs de toutes les tables
Utilisation de MsysObjects
HTH,
Éric
Re : Obtenir une liste de tables à partir de la base de données AccessMerci pour votre aide.
Il s'agit d'un fichier d'aide qui permet de se connecter à une base de données. Je voudrais créer moi-même une liste de tous les noms de table disponibles dans ma base de données.
quelque chose comme:
x=liste()
pour chaque tabledef dans my_database
x1<
insérer dans (x, x1);
finalement, c'est un peu compliqué. Je souhaite créer automatiquement une instruction SQL avec ce qui est stocké dans une table JMP. Presque terminé, j'en suis sûr... . Mais l'étape précédente, je voudrais permettre aux utilisateurs de stocker facilement des informations dans cette table JMP. Il doit sélectionner dans deux listes, d'abord la table de la base de données, puis la caractéristique qui l'intéresse dans cette table. Puis en cliquant sur "OK" son choix est stocké dans la table JMP. Je peux ensuite compiler une instruction SQL pour obtenir des données de la base de données pour tous les choix stockés dans cette table JMP.
J'espère que je suis clair... ambitieux ?
Re : Obtenir une liste de tables à partir de la base de données Accesshttp://www.jmp.com/software/whitepapers/pdfs/102427_jmp_odbc.pdf
J'ai trouvé ceci en ligne et il propose des instructions étape par étape pour établir une connexion entre une base de données et JMP et vous pouvez le faire à partir de là.
Salutations
Uday