Первое, что я хотел бы сделать в вашей ситуации, это попытаться очистить грязное поле возраста и стандартизировать его.Быстрый старт может состоять в том, чтобы создать запрос, в котором вы разделяете значение возраста и единицу возраста, используя такие выражения, как:
age_unit: Right([age], 1)
и
age_value: Val([age])
Если вы затем сортируете поage_unit и age_value, вы получите все возрасты, отсортированные правильно (при условии, что возраст в днях всегда меньше, чем возраст в месяцах, который, в свою очередь, всегда меньше, чем возраст в годах).Обратите внимание, что вы должны сначала отсортировать по единице, а затем по значению.
Если вы хотите вернуть возраст между определенным минимумом и максимумом, это не проблема, если вы придерживаетесь одной единицы, например всех возрастов между5 лет и 15 лет.Просто введите «y» в качестве критерия в поле «age_unit» (при условии, что вы используете визуальный построитель запросов) и введите «между 5 и 15» в поле «age_value».
Если вы 'Перемешивание единиц («все возрасты от 6 месяцев до 2 лет») становится немного сложнее.В этом случае вам нужно будет сделать следующее:
В одну строку критериев вы должны ввести следующие значения для каждого поля:
age_unit: "m"
age_value:> = 6
И затем в следующей строке критериев:
age_unit: "y"
age_value: <= 2 </p>
Это вернетвсе возрасты, имеющие единицу «m» и значение> = 6, ИЛИ имеющие единицу «у» со значением <= 2. </p>
Другим несколько более простым решением было бы преобразование всех возрастов в стандартную единицу, такую как годы,выполнив несколько простых вычислений, например, разделите значения единиц измерения «d» на 365,25 и разделите значения единиц измерения «m» на 12. Затем создайте новое поле в своей таблице для новых стандартизированных данных о возрасте.