This is another way to do it assuming you have a table of ranges and descriptions of ranges.
First example displays the ranges. Second example displays range names.
SELECT dbo.MyRanges.LowValue, dbo.MyRanges.HighValue, COUNT(*) AS Expr1
FROM dbo.MyRanges CROSS JOIN
dbo.MyData
WHERE (dbo.myData.Valuefield BETWEEN dbo.MyRanges.LowValue AND
dbo.MyRanges.HighValue)
GROUP BY dbo.MyRanges.LowValue, dbo.MyRanges.HighValue
SELECT COUNT(*) AS Expr1, dbo.MyRanges.RangeName
FROM dbo.MyRanges CROSS JOIN
dbo.MyData
WHERE AND (dbo.MyData.ValueField BETWEEN dbo.MyRanges.LowValue AND
dbo.MyRanges.HighValue)
GROUP BY dbo.MyRanges.LowValue, dbo.MyRanges.HighValue, dbo.MyRanges.RangeName