lundi 3 janvier 2005 19:05
Aurelien
Min et Max au sein d'un DataTable
Pour commencer, je tiens a vous souhaiter une bonne année 2005, qu'elle vous apporte la santé ainsi que toute la réussite que vous méritez.
Pour ce début d'année, voici une petite astuce permettant de récuperer le Min ou Max d'une colonne de type Integer ou Décimal au sein d'un DataTable.
Pour ceux qui n'auraient pas encore abordé le problème, DataTable.Select ne permet pas ce genre d'aggrégation.
Nous allons donc utilisez ici la méthode Compute du DataTable, petit rappel :
Computes the given expression on the current rows that pass the filter criteria.
Public Function Compute( _
ByVal expression As String, _
ByVal filter As String _
) As Object
Nous pouvons donc ici utiliser l'expression MAX(ColonneID) ou MIN(ColonneID) mais il faut pour cela préciser un filtre.
L'astuce consiste donc à utiliser un filtre qui permet d'inclure toutes les lignes d'un DataTable. Par exemple dans le cas d'une colonne de type AutoSeed (incrément automatique), vous pouvez utiliser :
Dim intMax As Integer = MaDataTable.Compute("MAX(ColonneID)", "ColonneID >= 0")
Aurelien
Member of WygTeam
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :