Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
 Аватар для SpiritAbsolute
5 / 5 / 1
Регистрация: 07.08.2013
Сообщений: 75

Период, за который формируется отчет

19.08.2013, 16:04. Показов 2799. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Нужно сделать отчет за определенный период.
Вводимые параметры ЛС и период времени. То есть надо сделать чтобы пользователь вводил дату начало периода и конец периода. И потом мне уже сделать выборку с таблиц для составления отчета.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.08.2013, 16:04
Ответы с готовыми решениями:

Отчёт не формируется за указанный период (СКД)
Здравсвуйте. Отчёт сконструирован через СКД: Текст запроса: ВЫБРАТЬ ОптовыеПродажи.Наименование, ...

Как распечатать отчет который нормально формируется
Отчет формируется нормально, все устраивает, когда нажимаю на кнопку принтера печатаются только надписи, такое ощущение, что данные из...

Отчет в 1С:Бух, который выберет суммы НДС за период по счету 10.05
Всем доброго дня. Только начал изучать 1С. Подскажите, что почитать, куда заглянуть, что сделать. Задача: создать новый отчет в 1С:Бух,...

9
 Аватар для VladSharikov
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
20.08.2013, 02:36
SpiritAbsolute, сделайте хранимую процедуру с тремя входными параметрами и внутри сделайте запрос на то, что вам нужно выбрать
так:
SQL
1
2
3
4
5
6
7
8
9
10
CREATE PROCEDURE ProcedureName
    @Account INT,
    @DateStart DATE,
    @DateEnd DATE
AS
BEGIN
    SET NOCOUNT ON;
    SELECT * FROM [YourTable] WHERE [AccountField] = @Account AND [DateField] BETWEEN @DateStart AND @DateEnd
END
GO
1
 Аватар для SpiritAbsolute
5 / 5 / 1
Регистрация: 07.08.2013
Сообщений: 75
20.08.2013, 10:26  [ТС]
WHERE [AccountField] = @Account AND [DateField] BETWEEN @DateStart AND @DateEnd
Можешь, пожалуйста, по подробнее вот это разъяснить! С датами этими пока что непонятки... Что значит [AccountField] и[DateField] BETWEEN
0
 Аватар для VladSharikov
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
20.08.2013, 11:05
Ты сказал вводимые параметры это лс (лицевой счет?) и 2 даты. AccountField - поле в котором записан лицевой счет, DateField - поле, в котором записана дата. Ты выберешь записи, где дата находится между двумя введенными параметрами datestart и dateend и поле лицевого счета равно account. Читай про хранимые процедуры.
1
 Аватар для SpiritAbsolute
5 / 5 / 1
Регистрация: 07.08.2013
Сообщений: 75
20.08.2013, 11:09  [ТС]
понял, хорошо, спасибо!
еще последний вопросик! : ) мне надо вывести два поля, на начало периода и на конец периода.
как мне в селекте их обозначить если по сути они одинаковые, разные толькоусловия даты.
например поле на начало периода ([s].[Sum]-[t].[Sum]) AS Начисление начало' ', высчитывается так, и так же высчитывается на конец периода ([s].[Sum]-[t].[Sum]) AS ' Начисления конец'
0
 Аватар для VladSharikov
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
20.08.2013, 11:29
Начисления хранятся где? В этой же таблице? Тебе все надо сделать в одном запросе? Если да, то надо больше информации, что у тебя за структура. Или, если нет, можно написать другую хранимую процедуру, которая суммировала бы нужное поля записей, где дата между минимальной датой (min функция) и датой из параметра.

Если первый вариант, то надо подумать, на работе никак пока.
0
 Аватар для SpiritAbsolute
5 / 5 / 1
Регистрация: 07.08.2013
Сообщений: 75
20.08.2013, 11:38  [ТС]
Надо сделать в одну. Существует главная таблица (личных счетов) с которой связаны остальные таблицы. В моем последнем вопросе используется 3 таблицы. Главная и 2 таблицы начисления и оплаты, они связаны с главной через ключевое поле с полем ID главной таблицы. Вот надо учитывать поле даты в этих двух таблицах. И вывести сальдо на начало периода и конец.
0
 Аватар для VladSharikov
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
20.08.2013, 12:01
Указывая дату начала и дату конца, предполагается, что строк в результате будет много, правильно? Если так, то не очень логично будет к каждой строке цеплять начисления на начало периода и на конец периода. Они будут повторяться в каждой строке,это неправильно. Может я не так что то понимаю?
0
 Аватар для SpiritAbsolute
5 / 5 / 1
Регистрация: 07.08.2013
Сообщений: 75
20.08.2013, 12:30  [ТС]
Надо сделать отчет Сальдо. Результат должен быть в виде таблицы. Интересуют вот эти поля с сальдо на начало периода и сальдо на конец периода. Данные группируются по услугам. Услуги это первый столбец.

Добавлено через 9 минут
В данный момент у меня получается вот такой кошмар.
Есть места , где я полностью не понимаю как сделать даже..
Связи между таблицами я еще не писал, но это я понимаю как сделать.
Сейчас меня интересуют ([s].[Sum]-[t].[Sum]) AS 'Сальдо, начало периода' и ([s].[Sum]-[t].[Sum]) AS 'Сальдо, конец периода'. Как эти поля сделать разными ... не понимаю...

T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
CREATE PROCEDURE Balance
    @Number varchar(15),            -- Ввод ЛС
    @DateStart datetime,
    @DateEnd datetime
AS
BEGIN
    SET NOCOUNT ON;
    SELECT
    a.ID_Service AS 'Услуга',
    ([s].[Sum]-[t].[Sum]) AS 'Сальдо, начало периода',
    [s].[Sum] AS 'Начислено',
    [t].[Sum] AS 'Оплачено',
    cht.ID AS 'Общедомовые начисления',
    cht.ID AS 'Справки',
    ([s].[Sum]-[t].[Sum]) AS 'Сальдо, конец периода'
 
 
    FROM 
    Cpay.Access a,                      -- Услуги
    Cpay.Reciever r,                        -- ЛС
    [Cpay].[Service] s,                 -- Начисления за жку
    Cpay.Ticket t,                      -- Оплата за жку
    Cpay.Penalties p,                       -- Начисления по пене
    Cpay.PenaltiesTicket pt,                -- Оплата по цене
    [References].ChargesTypes cht           -- 
 
 
    WHERE 
    r.Number = @Number AND
    [s].[DateCharge] BETWEEN @DateStart AND @DateEnd AND 
    [t].[Date] BETWEEN @DateStart AND @DateEnd AND
    [p].[TickDate] BETWEEN @DateStart AND @DateEnd AND
    [pt].[TickDate] BETWEEN @DateStart AND @DateEnd
END
0
 Аватар для VladSharikov
25 / 25 / 7
Регистрация: 02.12.2010
Сообщений: 824
20.08.2013, 12:31
Не понимаю, что тебе надо. То, что ты хотел сделать в первом посте, кажется, отличается от того, что хочешь сейчас. Или нет инфы всей.
Подожди кого то еще.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.08.2013, 12:31
Помогаю со студенческими работами здесь

Как сделать отчет по продажам за период (период в колонках) без СКД?
Всем привет! Покажите, пожалуйста, как сделать отчёт за период, период должен выводиться в колонки, и может быть разным (месяцы, года). ...

В запросе задаем период отборки. Отчет на основании запроса. Как выводить в отчете период отборки?
В запросе задаем период отборки. Отчет на основании запроса. Как выводить в отчете период отборки? Например: Запрос: возникает...

Не формируется отчет в Word из Delphi
Программа работает. Запускает документ, но в него вносится всего одна строка "Отчет" , а затем выдает ошибку "Вызов...

Отчет не формируется для некоторых пользователей
добрый день. внешний отчёт вставил в БП, теперь он доступен через "доп отчёты" простенький - выбрать документы за период, взять...

Каждые три секунды формируется отчет об ошибках
Добрый день. После пары дней пользованием Windows 10 , стал постоянно менятсья значок курсора с обычного на ожидания. Отркыв диспетчер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru