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 15232 fois