|
3 / 2 / 1
Регистрация: 19.09.2017
Сообщений: 54
|
||||||
Delphi 6-7 Отчёт за кварталы20.04.2020, 19:54. Показов 1661. Ответов 17
Здравствуйте.
При создании отчёта столкнулся с проблемой группировки данных. Нужно, чтобы в одном отчёте было расфасована информация по кварталам (I - IV). Для одного, например, сделать легко, можно просто при написании SQL запроса указать необходимые три месяца через LIKE, но как это сделать для всех месяцев, но разделённых в группы по 3? Не могу разобраться, как правильно осуществить идею. Подскажите, пожалуйста, если вообще как-то можно решить проблемку. Добавлено через 39 минут Прикрепляю используемый SQL код для трёх месяцев, вдруг нужен кому-то
0
|
||||||
| 20.04.2020, 19:54 | |
|
Ответы с готовыми решениями:
17
Кварталы Манхэттена Год разбить на кварталы и отобразить в ListBox (Paradox, BDE) |
|
3 / 2 / 1
Регистрация: 19.09.2017
Сообщений: 54
|
|||||||||||
| 20.04.2020, 21:43 [ТС] | |||||||||||
|
Примерно так:
Добавлено через 40 минут Пробую вот так, но не получается ничего
0
|
|||||||||||
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 20.04.2020, 23:55 | |
|
Есть еще UNION, с помощью которого можно объединять несколько похожих запросов, для каждого квартала свой.
----- А при чём здесь LIKE? Like и подстановочный символ используются для не точного сравнения. А как наименование месяца может быть не точным? ТМАЙ или МА что ли? ----- Опять же, определять квартал только по названию месяца - это не корректно, ошибка. Данные за месяцы могут быть из разных лет. Так что группировать данные по кварталам нужно с использованием периодов, где используются даты начала и конца кварталов. ДАТЫ, а не месяцы.
1
|
|
| 21.04.2020, 09:19 | ||||||
Добавлено через 49 секунд можно и не месяц анализировать, а проверять datepart от даты
1
|
||||||
|
3 / 2 / 1
Регистрация: 19.09.2017
Сообщений: 54
|
|
| 21.04.2020, 11:38 [ТС] | |
|
Используя Ваш код, выдаёт ошибку
В SQL я очень плох, т.к. особо его ещё не изучал, но, к сожалению, его приходится использовать в курсовом проекте. Пробовал разбираться, но всё равно ничего не понял, хотя делаю по примерам, а всё равно вылезают ошибки :с
0
|
|
|
3 / 2 / 1
Регистрация: 19.09.2017
Сообщений: 54
|
|
| 21.04.2020, 11:46 [ТС] | |
|
С ней то же самое
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 21.04.2020, 11:52 | |
|
Нет в SQL Аксесса выражения CASE.
ddellog, - неплохо бы сразу рассказать в какой СУБД строилась база данных; - чтобы получить исчерпывающий ответ, надо выложить базу и проект.
0
|
|
|
3 / 2 / 1
Регистрация: 19.09.2017
Сообщений: 54
|
|
| 21.04.2020, 11:57 [ТС] | |
|
Преподаватель нам рассказывала, что язык SQL универсален для любых СУБД, потому и не посчитал нужным упоминать среду, прошу прощения.
СУБД Access, среда разработки Delphi 7. Прикрепляю актуальную на данный момент БД и проект. Форма, в которой сидит проблема - KvartKomp Основная БД - sklad.mdb
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 21.04.2020, 12:18 | |
|
ddellog, позволю полюбопытствовать. Почему в прицепленной базе и в помине нет наименований полей, о которых упоминаются в запросе: z.Codd_zay, z.Codd_komp, ...?
--- Ошибка при построении базы: разделение даты оформления заказа на три поля. Это и привело к большим проблемам: пришлось городить огород с месяцами, которые в каждом году бывают одинаковыми (как в базе и есть). Тогда без привлечения года никак не получим правильный результат. Если бы дата оформления была в нормальном формате и, разумеется, хранилась в одном поле, то можно было бы отфильтровать записи по периоду: ... WHERE Dt between <Датаначалоквартала> and <Датаконцаквартала> Просто и эффективно.
1
|
|
|
3 / 2 / 1
Регистрация: 19.09.2017
Сообщений: 54
|
|
| 21.04.2020, 12:26 [ТС] | |
|
Т.е. при имеющейся структуре ничего не сделать?
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 21.04.2020, 12:30 | |
|
Наверное можно, но решения не видно.
А что, так сложно переделать структуру, чтобы после, практически сразу, получить нужный результат?
0
|
|
| 21.04.2020, 12:35 | |
|
0
|
|
|
3 / 2 / 1
Регистрация: 19.09.2017
Сообщений: 54
|
|
| 21.04.2020, 12:37 [ТС] | |
|
А можно, исходя из того, что сейчас есть, отсортировать кварталы просто по месяцам? Т.е. пусть он для первого квартала он берёт, допустим, январь 2019 и январь 2020 года, а насчёт самих годов при формировании отчёта что-нибудь придумал бы сам.
Добавлено через 41 секунду Таковы требования курсового проекта, не я выбирал -_- Самому не нравится, если честно.
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
||
| 21.04.2020, 12:49 | ||
|
Здесь решить проблему сортировкой не получится. Должны стоять фильтры, которые бы пропускали данные за какой-либо квартал одного года. Так что менять структуру придётся, если, конечно, не найдется отчаянный, у которого бы получилось поставить фильтр на квартал при существующей структуре даты.
1
|
||
|
3 / 2 / 1
Регистрация: 19.09.2017
Сообщений: 54
|
|
| 21.04.2020, 12:56 [ТС] | |
|
В таком случае спасибо большое всем за помощь и советы, буду пробовать что-то сделать сам
0
|
|
| 21.04.2020, 12:56 | |
|
Помогаю со студенческими работами здесь
18
Как отчет из построителя отчетов сохранить во внешний отчет?
Отчет РАУЗ переделать в отчет с партионным учетом Отчёт о том, кто открывал отчёт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|