En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour vous proposer des contenus et services adaptés. Mentions légales.

Recherche

Recherche

Les mémos

Je débute...

Visites

 1225015 visiteurs

 11 visiteurs en ligne

Nous contacter

Contact

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


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

Vous êtes ici :   Accueil » Limiter les enregistrements