Les mémos
Je débute...
Visites

 987452 visiteurs

 1 visiteur en ligne

Recherche
 
Fermer

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".


Catégorie : Les mémos - Tables
Page lue 12292 fois