У меня проблема с полями Sum в Crystal Reports под VS 2003.
Я использую VS 2003 и Crystal Reports для создания отчета с данными, извлеченными из базы данных SQL Server 2000 и хранящимися во время выполнения в строго типизированном наборе данных.
Набор данных содержит несколько таблиц, одна из которых, таблица orders , получает результаты SQL-запроса, объединяющего записи из двух разных таблиц. После проверки содержимого таблицы orders во время выполнения - непосредственно перед передачей набора данных в объект Report, я убедился, что рассматриваемый SQL-запрос работает правильно, всегда возвращая ожидаемые данные из базы данных.
Набор данных итерируется, каждая итерация объединяет результаты SQL-запроса, выполненного с другим orderID, в набор данных. Запрос SQL также извлекает записи из других таблиц, связанных с каждым orderID, и помещает их в соответствующие таблицы (кроме orders ) в наборе данных.
Проблема возникает, когда я пытаюсь суммировать конкретный столбец, столбец orders.order_amount , в Crystal Report. Сумма, которую я получаю, неверна.
Например, таблица orders содержит 3 записи в то время, когда она связана как источник данных отчета, каждая с order_amount = 10,00 $. Вместо того, чтобы возвращать 30,00 долларов, значение поля суммы будет примерно равно 50,00.
Я не вижу, как это могло произойти, я предполагаю, что это связано либо с ошибкой в Crystal Reports, либо с отсутствующим элементом в моем отчете. Набор данных заполнен правильно, но, похоже, Crystal Reports каким-то образом путает связанные записи, извлеченные на основе orderID s, как записи таблицы orders и добавляет к сумма заказа сумма.
Если я отключу инструкцию SELECT, которая заполняет связанные записи, сумма order_amount отображается правильно.
Кто-нибудь знает, почему это происходит?
Заранее спасибо.
Ray