Limiter les enregistrements
On peut souhaiter limiter le nombre d'enregistrements qui peuvent être stockée dans une table.
Les raisons peuvent être diverses : version réduite, version d'essai...
On placera les deux fonctions suivantes dans un module général (onglet Module) et que l'on sauvera sous "mod_ContraintesTables" par exemple.
Public Function RecordLimit(strTable As String, intLimit As Integer) '// '// A utiliser à partir d'Access 2000 et nécessite la référence ADO '// Syntaxe pour placer une contrainte de 10 enregistrements '// RecordLimit "T_NomTable", 10 '// Dim S As String S = "ALTER TABLE [" & strTable & "] " _ & "ADD CONSTRAINT LimitNumberOfRecord" _ & " CHECK(" & intLimit & " >= (SELECT COUNT(*)FROM [" & strTable & "]));" CurrentProject.Connection.Execute S End Function
Public Function RecordNoLimit(strTable As String) '// '// Syntaxe pour supprimer la contrainte '// RecordNoLimit "T_NomTable" '// Dim S As String S = "ALTER TABLE [" & strTable & "] DROP CONSTRAINT LimitNumberOfRecord;" CurrentProject.Connection.Execute S End Function
Remarque :
Le seul endroit ou cette contrainte sera visible est dans la documentation.
- Menu Outils, Analyse, Documentation
Cochez la table concernée, cliquez sur le bouton des "Options..." et ne demandé que les propriétés.
Apparaîtra alors parmis les propriétés de cette table la ligne :
CheckConstraints: LimitNumberOfRecord
ce qui n'est rien d'autre que le nom que nous avons donné à la contrainte, d'où l'intérêt d'utiliser un nom "parlant".
Dernière modification : 07/02/2010 22:36
Catégorie : Les mémos - Tables
Page lue 14826 fois