OVH Cloud OVH Cloud

2 Questions!

1 réponse
Avatar
Francois Soucy
Bonjour à tous!

J'ai une table avec un nombre assez élevés d'enregistrements. Un
des champs de cette table est le champ "PubDate" de type DateTime. Je
cherche à récuperer les enregistrement de facon distinct par année et mois.
Le but de cela est de produire une liste années et mois qui ressemblerais à
cela:

Décembre 2004 (4)
Novembre 2004 (8)
Aout 2004 (1)
Juin 2004 (12)
Janvier 2004 (1)
Décembre 2003 (6)
etc...

Le nombre d'enregistrement pour un mois/année n'est pas vraiment nécéssaire
mais c'est plus agréable au niveau fonctionnalité. Je ne sais pas par contre
comment faire pour récupérer uniquement une certaine partie d'un champ
DateTime d'une base de donnée access.


L'autre question que je me pose est de savoir s'il est possible de sauter
les 10 premiers enregistrement sans savoir le nombre total avec un mot clé
du genre "Top 10". Par exemple si j'ai 90 enregistrements dans une table
j'aimerais qu'il me retourne uniquement les 80 derniers.

Merci d'avance à vous tous
Francois

1 réponse

Avatar
Osman MALIK [MS]
Bonjour,

Sous ADO.NET, il vous faut créer un DataReader qui lit les données triées
par Date (SELECT ChampDateTime FROM Table ORDER BY ChampDateTime DESC).
Au fur et à mesure que vous parcourez vos données, vous y vérifiez le mois
contenu dans la valeur DateTime.
A chaque nouveau mois, vous incrémentez un compteur et vous vous servez de
cette valeur pour connaître le nombre de champs par mois.
Vous vous basez sur ces données pour peupler votre liste.

Pour votre deuxième question, la fonctionnalité TOP X dépend de votre base
de données.
Si votre base de données ne le supporte pas, la solution qui vous convient
est de mettre en place une fonctionnalité de "Paging" dans l'affichage de
vos données et de n'afficher que les données qui vous intéressent.
Voici un exemple pour SQL Server:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/pagercontrols.asp

Cordialement,
Osman MALIK
Microsoft France


"Francois Soucy" wrote in message
news:
Bonjour à tous!

J'ai une table avec un nombre assez élevés d'enregistrements.
Un des champs de cette table est le champ "PubDate" de type DateTime. Je
cherche à récuperer les enregistrement de facon distinct par année et
mois. Le but de cela est de produire une liste années et mois qui
ressemblerais à cela:

Décembre 2004 (4)
Novembre 2004 (8)
Aout 2004 (1)
Juin 2004 (12)
Janvier 2004 (1)
Décembre 2003 (6)
etc...

Le nombre d'enregistrement pour un mois/année n'est pas vraiment
nécéssaire mais c'est plus agréable au niveau fonctionnalité. Je ne sais
pas par contre comment faire pour récupérer uniquement une certaine partie
d'un champ DateTime d'une base de donnée access.


L'autre question que je me pose est de savoir s'il est possible de sauter
les 10 premiers enregistrement sans savoir le nombre total avec un mot clé
du genre "Top 10". Par exemple si j'ai 90 enregistrements dans une table
j'aimerais qu'il me retourne uniquement les 80 derniers.

Merci d'avance à vous tous
Francois