2008-11-04 11 views
1

J'ai donc une colonne avec des numéros différents et que vous souhaitez classer par catégorie dans un délai de 30 minutes. Donc 5 serait 0-30, 697 serait 690-720, et 169 serait 150-180. Je pensais d'abord faire une déclaration de cas, mais il ne semble pas que Access 2003 le supporte. Y at-il peut-être une sorte d'algorithme qui pourrait déterminer la gamme? De préférence, cela serait fait dans la requête.Déterminer la catégorie de plage d'un nombre spécifié

Merci.

Répondre

2

Prendre la partie entière de (nombre/30) en utilisant la fonction Int et le multiplier par 30 pour obtenir votre limite inférieure, puis ajoutez 30 à ce nombre pour obtenir votre limite supérieure.

Exemples

Int(5/30) = 0 * 30 = 0 
Int(697/30) = 23 * 30 = 690 
0

Utilisez/(division entière) et * (multiplication). 5/30 * 30 = 0 697/30 * 30 = 690 169/30 * 30 = 150

...
0

Soit x votre colonne avec les valeurs que vous souhaitez cataloguer, l'en pseudo-SQL que vous avez:

select ((x/30)*30) as minrange, 
(((x/30)+1)*30) as maxrange 
from yourtable 

(vous devez prendre la partie entière de la division).
Espérons que cela aide.

0

Ceci est assez simple. Vous pouvez simplement utiliser ce qui suit.

(number \ 30) * 30 

Ceci vous donnera l'indice le plus bas de votre plage. Il a un problème, qui est que 30, 720, 180 etc, seront retournés comme eux-mêmes. Cela signifie que vos plages doivent être 0-29, 690-719, etc., ou que votre interlocuteur en tienne compte.

Cela suppose que vous utilisez VBA où l'opérateur '\' renvoie uniquement le quotient. Voir plus sur les opérateurs VB here

Questions connexes