Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически)
Текущее время: 23.11.2024 01:19

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Помогите с формулой вичисления
СообщениеДобавлено: 27.07.2014 15:30 
Не в сети

Зарегистрирован: 18.08.2013 01:45
Сообщения: 66
Есть формула
(select sum(SummVuhod1Calc) from qdfPayments where qdfPayments.PaymentDate = OrderDate)
работает коректно, сумирует сумы товаров проданых в определенную дату. Но при отсутствии проданых товаров на коккретную дату вычисляемое поле пустое, а мне нужно значение 0. Как исправить формулу?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 28.07.2014 11:00 
Не в сети

Зарегистрирован: 30.06.2014 20:40
Сообщения: 106
где используется формула? Если в таблице, то может посмотреть настройки поля, указать условия на значения (если нулл, то ставит 0, например).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 28.07.2014 11:05 
Не в сети

Зарегистрирован: 25.01.2012 11:41
Сообщения: 186
Если Ацес, то конструкция IIF, если SQL то Case When...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 28.07.2014 11:23 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
Код:
(SELECT IIf(ISNULL(SUM(SummVuhod1Calc)), 0, SUM(SummVuhod1Calc)) FROM qdfPayments WHERE qdfPayments.PaymentDate = OrderDate)

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 29.07.2014 11:35 
Не в сети

Зарегистрирован: 18.08.2013 01:45
Сообщения: 66
OMEN писал(а):
Код:
(SELECT IIf(ISNULL(SUM(SummVuhod1Calc)), 0, SUM(SummVuhod1Calc)) FROM qdfPayments WHERE qdfPayments.PaymentDate = OrderDate)


Спасибо, помогло!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 10.08.2014 01:09 
Не в сети

Зарегистрирован: 25.09.2013 12:45
Сообщения: 28
Доброй ночи!
Будьте добры, напишите пожалуйста эту же формулу для sql, если не сложно. Заранее благодарю!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 10.08.2014 07:39 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
С такими вопросами правильнее обратиться на профильные форумы типа SQL точка ru
Код:
(SELECT ISNULL(SUM(SummVuhod1Calc), 0) FROM qdfPayments WHERE qdfPayments.PaymentDate = OrderDate)

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 11.08.2014 16:15 
Не в сети

Зарегистрирован: 25.01.2012 11:41
Сообщения: 186
rodsok писал(а):
Доброй ночи!
Будьте добры, напишите пожалуйста эту же формулу для sql, если не сложно. Заранее благодарю!!!

CASE WHEN (select sum(SummVuhod1Calc) from qdfPayments where qdfPayments.PaymentDate = OrderDate) is null then 0 else (select sum(SummVuhod1Calc) from qdfPayments where qdfPayments.PaymentDate = OrderDate) END


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 15.09.2014 14:15 
Не в сети

Зарегистрирован: 18.08.2013 01:45
Сообщения: 66
Помогите пожалуйста с формулой!
Актуальная версия программы, Ассес.

Есть такое исчисление для итогов полей:
FORMULA: SELECT 'Всего: ' & COUNT(Klieeent) FROM qdfWorks WHERE ClientIDCalc=<ClientID>
Эта формула считает количество ВСЕХ посещений клиентов.
Но нужно немного другое.
Нужно чтобы количество посещений считало для определенного абонемента. Есть таблица с оплатой и датой начала и конца абонемента. Есть Таблица посещений. Нужно что б в итог считались те посещения, даты которых попадали в период действия абонемента.

Разяснение по таблицам и полям:
qdfWorks - таблица посещений
Dat - дата посещения в таблице посещений qdfWorks
qdfInvoices - таблица оплат с абонементом и датами

InvoiceDate - дата начала абонемента в таблице qdfInvoices
DeliveryDate - дата окончания абонемента в таблице qdfInvoices

Klieeent - имя клиента в таблице qdfWorks (таблица посещений)
ClientIDCalc - вычисляемый код клиента в таблице qdfWorks (таблица посещений)
ClientID - вычисляемый код клиента в таблице qdfInvoices (таблица оплат с абонементом и датами)

Я себе представляй где-то такое продолжение формулы:
AND WHERE qdfWorks.Dat >= qdfInvoices.InvoiceDate AND WHERE qdfWorks.Dat <= qdfInvoices.DeliveryDate

К сожалению не получается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 15.09.2014 16:20 
Не в сети

Зарегистрирован: 18.08.2013 01:45
Сообщения: 66
OMEN писал(а):
А скриншоты этих таблиц и окон настроек их полей слабо привести, как того требуют правила?


Пардон, исправляюсь

Журнал абонементов:
Вложение:
Журнал абонементов.jpg
Журнал абонементов.jpg [ 554.91 КБ | Просмотров: 80304 ]

Журнал посещений:
Вложение:
Журнал посещений.jpg
Журнал посещений.jpg [ 453.65 КБ | Просмотров: 80304 ]

Журнал абонементов настройки поля
Вложение:
Журнал абонементов  настройки поля.jpg
Журнал абонементов настройки поля.jpg [ 439.06 КБ | Просмотров: 80304 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 15.09.2014 16:22 
Не в сети

Зарегистрирован: 18.08.2013 01:45
Сообщения: 66
Журнал посещений настойки полей

Вложение:
Журнал посещений настойки полей.jpg
Журнал посещений настойки полей.jpg [ 373.36 КБ | Просмотров: 80304 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 15.09.2014 16:36 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
Попробуйте так:
Код:
SELECT 'Посещений: ' & COUNT(1) FROM qdfWorks WHERE ClientIDCalc = <ClientID> AND Dat >= <InvoiceDate> AND Dat <= <DeliveryDate>

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 15.09.2014 17:05 
Не в сети

Зарегистрирован: 18.08.2013 01:45
Сообщения: 66
OMEN писал(а):
Попробуйте так:
Код:
SELECT 'Посещений: ' & COUNT(1) FROM qdfWorks WHERE ClientIDCalc = <ClientID> AND Dat >= <InvoiceDate> AND Dat <= <DeliveryDate>


Большое спасибо!
Таблица выдает ошибку, когда находит поле, в котором не указана дата окончания абонемента или его начала, и обьявляет что формула будет удалена как нерабочая. Но все таки не удаляет. Наверное эти поля надо сделать обязательными...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 15.09.2014 17:17 
Не в сети

Зарегистрирован: 18.08.2013 01:45
Сообщения: 66
Еще вопрос по формуле:
Есть ли у програмы возможность контролировать уровень посещаемости по абонементу каким либо образом именно по этой формуле. То есть если по абонементу например с названием "Минимум" должно быть не более 9 занятий, то при появлении 10 посещений появляется сообщение или другой вариант.

Или все таки нужно выводить количество посещений по абонементу в отдельную строку таблицы Абонементов (селект сумм) и ставить условия на количество посещений в свойствах таблицы? Это может утяжелить таблицу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с формулой вичисления
СообщениеДобавлено: 15.09.2014 17:24 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
Само собой, что если у вас поле не заполнено, то запрос будет приводить к ошибке. Либо менять запрос с учетом возможного пустого значения, либо обязать указывать значение в полях, участвующих в запросе.

По поводу контроля значений конечно есть, причем несколько способов: через контроль значения поля в его свойстве (можно предотвратить внесение записи с определенными значениями, см. ролик "Свойства полей"), а также через триггер (обычно это вывод сообщения/предупреждения или выполнение какого-либо действия, но уже после сохранения записи).

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB