Comment utiliser la propriété Attributes pour les objets TableDef dans Access
Numéro de la base de connaissances d’origine : 210362
Remarque
Nécessite des compétences d’experts en codage, en interopérabilité et en multi-utilisateur. Cet article s’applique uniquement à une base de données Microsoft Access (.mdb/.accdb).
Résumé
Vous pouvez utiliser la Attributes
propriété d’un TableDef
objet pour déterminer des propriétés de table spécifiques. Par exemple, vous pouvez utiliser la Attributes
propriété pour déterminer si une table est une table système ou une table liée (attachée).
Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans y être limité, les garanties implicites de commercialisation et d’adaptation à un but en particulier. Cet article considère que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support technique Microsoft peuvent vous aider à expliquer les fonctionnalités d’une procédure particulière, mais ils ne modifient pas ces exemples pour fournir des fonctionnalités supplémentaires ou construire des procédures pour répondre à vos besoins spécifiques. REMARQUE : L’exemple de code de cet article utilise Microsoft Data Access Objects. Pour que ce code s’exécute correctement, vous devez référencer la bibliothèque d’objets Microsoft DAO 3.6. Pour ce faire, cliquez sur Références dans le menu Outils de l’Rédacteur Visual Basic et assurez-vous que la zone case activée Bibliothèque d’objets Microsoft DAO 3.6 est cochée.
Attributs TableDef
La Attributes
propriété d’un TableDef
objet spécifie les caractéristiques de la table représentée par l’objet TableDef
. La Attributes
propriété est stockée sous la forme d’un seul entier long et est la somme des constantes Long suivantes :
Constante | Valeur | Description |
---|---|---|
dbAttachExclusive | 65536 | Pour les bases de données qui utilisent le moteur de base de données Microsoft Jet, indique que la table est une table liée ouverte pour une utilisation exclusive. |
dbAttachSavePWD | 131072 | Pour les bases de données qui utilisent le moteur de base de données Jet, indique que l’ID utilisateur et le mot de passe de la table liée doivent être enregistrés avec les informations de connexion. |
dbSystemObject | -2147483646 | Indique que la table est une table système. |
dbHiddenObject | 1 | Indique que la table est une table masquée (pour une utilisation temporaire). |
dbAttachedTable | 1073741824 | Indique que la table est une table liée à partir d’une base de données ODBC (Non Open Database Connectivity), telle que Microsoft Access ou Paradox. |
dbAttachedODBC | 536870912 | Indique que la table est une table liée à partir d’une base de données ODBC, telle que Microsoft SQL Server ou ORACLE Server. |
Pour un TableDef
objet, l’utilisation de la Attributes
propriété dépend de la status de TableDef
, comme le montre le tableau suivant :
TableDef | Utilisation |
---|---|
Objet non ajouté à la collection | Lecture/écriture |
Table de base | Lecture seule |
Table liée | Lecture seule |
Lors de la vérification du paramètre de cette propriété, vous pouvez utiliser l’opérateur AND pour tester un attribut spécifique. Par exemple, pour déterminer si un objet table est une table système, effectuez une comparaison logique de la TableDef
propriété Attributes et de la dbSystemObject
constante.
Exemple de code
Remarque
L’exemple de code de cet article utilise Microsoft Data Access Objects. Pour que ce code s’exécute correctement, vous devez référencer la bibliothèque d’objets Microsoft DAO 3.6. Pour ce faire, cliquez sur Références dans le menu Outils de la Rédacteur Visual Basic, puis vérifiez que la zone case activée Bibliothèque d’objets Microsoft DAO 3.6 est cochée.
L’exemple de fonction défini par l’utilisateur suivant effectue une boucle dans toutes les tables d’une base de données et affiche une boîte de message répertoriant le nom de chaque table et indiquant si la table est une table système ou non :
Option Compare Database 'Use database order for string comparisons.
Option Explicit
Function ShowTableAttribs()
Dim DB As DAO.Database
Dim T As DAO.TableDef
Dim TType As String
Dim TName As String
Dim Attrib As String
Dim I As Integer
Set DB = CurrentDB()
For I = 0 To DB.Tabledefs.Count - 1
Set T = DB.Tabledefs(I)
TName = T.Name
Attrib = (T.Attributes And dbSystemObject)
MsgBox TName & IIf(Attrib, ": System Table", ": Not System" & _
"Table")
Next I
End Function
References
Pour plus d’informations sur la propriété Attributs, cliquez sur Aide de Microsoft Visual Basic dans le menu Aide , tapez propriétés de l’objet dans l’Assistant Office ou l’Assistant Réponse, puis cliquez sur Rechercher pour afficher les rubriques retournées.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour