Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
8 / 8 / 0
Регистрация: 18.06.2017
Сообщений: 102
1

Как правильно написать выражение для вычисления даты

18.06.2017, 03:20. Показов 1687. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прошу помочь!
Нужно автоматизировать таблицу с оплатой
Задача в следующем состоит, есть база туда вносятся оплаты и ставится даты оплаты + словами прописывается на какой период оплата (месяц, квартл, год) как сделать выражение для вычисления следующей даты оплаты?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2017, 03:20
Ответы с готовыми решениями:

Как правильно написать регулярное выражение для валидатора?
Пишу валидатор на QLineEdit, нужно, чтобы пользователь мог ввести градусы в поле, соответственно...

Как правильно написать выражение?
Привет всем! Есть вот такой декомпилированный код: private LargeInteger(int value) ...

Как Правильно написать выражение в JS ?
var heart_m = document.getElementById('heart_m'+1); в этом выражении вместо 1 в скобка должна быть...

Как правильно написать выражение
Как правильно грамматически написать выражение, если есть такая формула расчета: Доход = Если...

17
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.06.2017, 05:18 2
SQL
1
2
3
4
5
6
7
SELECT Таблица1.дата, Таблица1.период,  
IIf(Таблица1.период = 'месяц', DateAdd('m',1,дата), 
  IIf(Таблица1.период = 'квартал', DateAdd('m',3,дата), 
    IIf(Таблица1.период = 'год', DateAdd('y',1,дата),NULL)
  )
) AS nextdate
FROM Таблица1;
датапериодnextdate
2017-01-01месяц01.02.2017
2017-01-01квартал01.04.2017
2017-01-01год02.01.2017
2017-01-01неделя 
0
8 / 8 / 0
Регистрация: 18.06.2017
Сообщений: 102
18.06.2017, 10:39  [ТС] 3
Выдает ошибку, "Выражение содержит ошибочный подчиненный запрос Проверьте синтаксис и заключите подчиненный запрос в скобки" использую Accsess 2016
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.06.2017, 10:53 4
может чего напутали, подставляя поля и таблицу? покажите ваш вариант запроса
0
8 / 8 / 0
Регистрация: 18.06.2017
Сообщений: 102
18.06.2017, 11:03  [ТС] 5
Цитата Сообщение от YuryK Посмотреть сообщение
может чего напутали, подставляя поля и таблицу?
Да поменял на свои но выдалась такая ошибка, вот сама база, таблица "Оплата" База данных студенты.rar
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.06.2017, 11:13 6
ну не знаю, у меня в 2010-м запрос работает

SQL
1
2
3
4
5
6
7
SELECT Оплата.*,  
IIf(Оплата.Оплатил = 'месяц', DateAdd('m',1,[Дата оплаты]), 
  IIf(Оплата.Оплатил = 'квартал', DateAdd('m',3,[Дата оплаты]), 
    IIf(Оплата.Оплатил = 'год', DateAdd('yyyy',1,[Дата оплаты]),NULL)
  )
) AS nextdate
FROM Оплата;
Добавлено через 42 секунды
Номер делаДата оплатыОплатилКод оплатыСумма оплатыследующая оплатаnextdate
123.06.2017Месяц215,00₽ 23.07.2017
223.06.2001Год2156,00₽ 23.06.2002
223.04.2009месяц589,00₽ 23.05.2009
315.06.2003квартал13 213,00₽ 15.09.2003
403.05.2009год8465,00₽ 03.05.2010
515.03.2001год12896,00₽ 15.03.2002
525.03.2007год84 568,00₽ 25.03.2008
524.04.2008год1654,00₽ 24.04.2009
523.03.2015год258 000,00₽ 23.03.2016
726.03.2008год5321,00₽ 26.03.2009
1023.05.2001год56 169,00₽ 23.05.2002
0
8 / 8 / 0
Регистрация: 18.06.2017
Сообщений: 102
18.06.2017, 11:29  [ТС] 7
Теперь и у меня заработало!
Огромное спасибо!

Такой еще вопрос, а можно потом сделать выборку(и как это сделать) поступила ли оплата в запланированный день и если нет то вывести ID.
Возможно есть предложение как это отследить.
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.06.2017, 12:46 8
Цитата Сообщение от peshalex Посмотреть сообщение
поступила ли оплата в запланированный день
а если раньше? а если немного позже - это смертельно?

если платеж последний и за ним других не последовало, какая разница в назначенный день или нет? Следующего платежа нет, а значит и нет даты, которую вы хотите с чем-то сравнить.

вот платежи, которые были последними (предыдущий запрос сохранен как ОплатаNextDate и используется в следующем)
SQL
1
2
3
4
5
6
7
SELECT ОплатаNextDate.[Номер дела], ОплатаNextDate.NextDate
FROM  
  ОплатаNextDate  
  LEFT JOIN Оплата ON 
    Оплата.[Номер дела] = ОплатаNextDate.[Номер дела] AND 
    Оплата.[Дата оплаты] > ОплатаNextDate.[Дата оплаты]
WHERE Оплата.[Номер дела] IS NULL
Номер делаNextDate
123.07.2017
315.09.2003
403.05.2010
726.03.2009
223.05.2009
1023.05.2002
523.03.2016

здесь, пожалуй лишь уместно сравнивать дату следующего платежа с сегодняшний и не зачислять в должники дело № 1, т.к. дата платежа еще не прошла.
0
8 / 8 / 0
Регистрация: 18.06.2017
Сообщений: 102
18.06.2017, 13:10  [ТС] 9
Цитата Сообщение от YuryK Посмотреть сообщение
а если раньше? а если немного позже - это смертельно?
Принципиально, так как указано на примере человек оплачивает периодами и потом пропадает на длительный период и потом опять начинает платить и тот период который он не платил пропадает. (а нужно иметь возможность отследить этот момент)
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.06.2017, 13:20 10
это правильней делать суммированием всех оплат и сравнением с чем-то, например с полной стоимостью курса.
Или "выставлять счета" в одной таблице, а оплаты совсем в другой.
ИМХО.
А то он может заплатить вовремя, но не всё. Или досрочно. Или по-частям.
0
8 / 8 / 0
Регистрация: 18.06.2017
Сообщений: 102
18.06.2017, 13:36  [ТС] 11
Полностью согласен!
У меня есть 3 формы оплаты и 3 формы обучения у студентов

формы оплаты

год
месяц
семестр

Формы обучения

Очная
Заочная
Очно-заочная

Стоимость оплаты

Очная - 70т год
Заочная - 30 т г
Очно-заочная - 70т год

Проблема состоит в том, что студент может сначала может учится на очной потом перейти на заочную форму обучения и оплата соответсвенно меняется.

Как быть в таком случае? Верно я понял что нужно сделать таблицу где будет разбивка по стоимостям и потом связка их с датой оплатой а там уже сравнение с оплатой?

Вот последняя версия базы База данных студенты.rar

Спасибо за помощь!
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.06.2017, 14:29 12
Цитата Сообщение от peshalex Посмотреть сообщение
Проблема состоит в том, что студент может сначала может учится на очной потом перейти на заочную форму обучения и оплата соответственно меняется.
это у вас учебная задача или реальная
При переходе на другую форму обучения, как и на другую специальность, заключается новый договор, где оговариваются новые сроки обучения и новые сроки и суммы оплаты. По крайней мере, когда я автоматизировал подобную область, там было именно так.
0
8 / 8 / 0
Регистрация: 18.06.2017
Сообщений: 102
18.06.2017, 14:35  [ТС] 13
Реальная ((
Да, все верно человек должен написать заявление, ( он может делать кучу заявлений на разные запросы ) - планиурется потом создать базу запросов и там будут отображаться все заявления студента.

Просто до конца не могу продумать логику взаимодействия
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.06.2017, 14:52 14
Цитата Сообщение от peshalex Посмотреть сообщение
Да, все верно человек должен написать заявление
заявление - вещь хорошая, но при платном обучении важная и обязательная вещь - договор. После того, как подпишут заявление, должен быть составлен и подписан договор, в котором прописана специальность, получаемая квалификация, срок обучения, стоимость договора, периодичность оплаты и сумма платежа. После этого выходит приказ о переводе (а то только и после первого платежа).

В соответствии с договором можно сформировать записи в таблице ожидаемых платежей по договору. Соответственно на любую заданную даты мы можем посчитать сколько студент должен заплатить к указанной дате.

В таблице платежей будут конкретные суммы за конкретные даты платежей по конкретному договору. Теперь их можно суммировать и сравнивать с суммами ожидаемых платежей.
0
8 / 8 / 0
Регистрация: 18.06.2017
Сообщений: 102
18.06.2017, 15:03  [ТС] 15
Так, примерно понял а можешь подправить базу что бы наглядно увидеть, так же вопрос.

Тогда вопрос возникает следующий, номер договора является уникальным для каждого студента и когда я делаю выборку по номеру договра я вижу все данные по студенту, как мне сделать отображение договоров в карточке студентов.
0
1040 / 856 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
18.06.2017, 15:14 16
акс как средство создания приложений с формами не использую
0
8 / 8 / 0
Регистрация: 18.06.2017
Сообщений: 102
18.06.2017, 17:15  [ТС] 17
А как можно в таблицах записать расчет стоимости за обучения учитывая параметры
Формы обучения и периода

Во вложении последняя версия таблиц База данных студенты.rar
0
8 / 8 / 0
Регистрация: 18.06.2017
Сообщений: 102
18.06.2017, 17:15  [ТС] 18
А как можно в таблицах записать расчет стоимости за обучения учитывая параметры
Формы обучения и периода

Во вложении последняя версия таблиц Вложение 845504
0
18.06.2017, 17:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2017, 17:15
Помогаю со студенческими работами здесь

как правильно написать выражение
Здравствуйте! Подскажите, в чем ошибка? Мне потребовалось отобразить значение из таблицы, отличной...

Как правильно написать мат. выражение
Имею следующее задание: Ввести целое число x, вещественные числа y и z. Вычислить a, b по следующим...

Используя приведенное ниже выражение, написать программу на ассемблере для вычисления результата
Прошу помощи в решении данного уравнения Используя приведенное ниже выражение, написать...

Как правильно написать логическое выражение на ASP странице?
Нужно на странице прописать логическое выражение , что бы при выборе nomerID появлялась ссылка....


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru