Выбор записей с помощью полей даты

Оценить
(0 голоса)

Многие требования к отчету могут быть удовлетворены за счет разумного использования полей даты при отборе записей. Crystal Reports предлагает широкий набор встроенных диапазонов дат, которые можно указывать в операциях сравнениях, а также позволяет применять и другие операции для сравнения полей дат. Когда в диалоговом окне Choose Field выбирается поле даты или поле даты/времени, в диалоговом окне Select Expert становится доступной операция In the Period. Если вы выберете эту операцию, появится еще один выпадающий список со встроенными диапазонами Crystal Reports (рис. 4.7).

Например, используя диапазон LastFullMonth (Полный прошлый месяц), вы можете создать отчет, возвращающий заказы только за прошлый месяц. Наиболее привлекательной особенностью применения встроенных функций временных диапазонов является “самостоятельность” отчета. Например, при указании диапазона LastFullMonth для отображения заказов предыдущего месяца отчет всегда будет использовать системные часы компьютера, независимо от того, когда он запускается. А это значит, что менять диапазон дат каждый месяц не понадобится.

Тем не менее, бывают случаи, когда диапазон дат должен вводиться вручную. Например, при желании просмотреть все заказы за 2005 год, вам придется указать даты вручную. В системе нет встроенного диапазона, который бы задавал даты, соответствующие нескольким годам тому назад. Поэтому, чтобы просмотреть эти заказы, выберите поле даты, по которому должны отбираться записи (например, Order Date (Дата заказа)), и примените к нему операцию сравнения Is Between для вывода всех заказов, сделанных за период с 1 января 2005 года до 31 декабря 2005 года. В этой операции вы можете просто указать начальную дату (1/1/2005) и конечную дату (31/12/2005).

Совет. Crystal Reports обеспечивает достаточно высокую степень гибкости при форматировании дат с помощью эксперта Select Expert, позволяя вводить даты в окне этого эксперта в любом, каком вы пожелаете, формате. Тем не менее, при попытке ввести даты, в которых Crystal Reports не уверен, например, даты, значение года в которой состоит только из двух цифр, вы все равно получите сообщение об ошибке.

Даже если вы для отбора записей выберите поле даты/времени, вы можете в качестве сравниваемого значения указать просто дату (без времени). Хотя Crystal Reports и позволит сделать это, для указанной даты все равно будет назначено время, соответствующее полуночи. А это, особенно когда в качестве операции сравнения используется операция Is Between, может привести к путанице в результатах. Поскольку обе даты будут сравниваться с учетом значения времени (в данном случае равного полуночи), в отчет будут включены все записи, в которых значение времени в первой указанной дате как раньше, так и позже полуночи. Однако, что касается второй указанной даты, в отчет будут включены только те записи, в которых для второй даты в качестве значения времени задана точно полночь — любые значения времени для второй даты, даже на секунду позже полуночи, уже включаться не будут. В силу этого обстоятельства обязательно наряду со значением даты всегда указывайте и значение времени.

Работа с формулой отбора записей напрямую
Чувствительность к регистру и отбор записей
Ограничение данных с помощью формулы отбора групп
Повышение производительности при отборе записей
Создание простого отчета

Добавить комментарий


Защитный код
Обновить