ник: kot_k_k
Такой запрос я делала, но это не то что надо. Потому что нужно:
если показатели были в обоих месяцах, то разница текущего и предыдущего;
если есть только за текущий, то выводить значение за текущий;
если есть только за предыдущий, то 0.
|
а это извините другая постановка задания на программирование
в запросe3
создать нужно вычисляемое поле по каждому показателю.
где пишем
Выражение2: IIf([Текущий.Счетчик_хол1]=0;0;[Текущий.Счетчик_хол1]-[До текущего.Счетчик_хол1])
|
и так по всем счетчикам.
А кокие месяц и год строковое или дата, в данном случае абсолютно не важно.
А если вам это принципиально, подскажите решение с учетом месяца как даты.
|
не знаю где и кем это будет использоваться, но:
это принцыпиально ВАМ и ТОЛЬКО ВАМ. если вы посмотрите на форму в поля которые я создал то увидите что нужно было написать чтобы из Вашей формы-структуры БД получить Год и Месяц не говоря о том что норамльно отловить декабрь 2009 от января 2010 - не можно написать что если месяц = 1 то год = год-1 а месяц =месяц-1.
но если придется расчитывать периоды временные то будет еще более.
Поле имеет тип Дата из нее всегда можно получить Год, Месяц, День - день недели и прочее.
Если вам зададут интервал в 2,3 месяца то ловить придется не только январь а февраль и март тоже
мало того что вносить данные если нет показаний 0 0 0 0 не имеет смысла т.к. показания записывают когда их дают и кто их дает (абонент)!!!! а не садится чел и вносит всё подряд - тоже вариант но какое количество лишних движений.
Можноконечно написать функцию - типа внести данные с нулями для тех у кого нет записи за этот месяц,
а что будет если внесли в следующем
март 50
апрель 0
май 100
показания к оплате 100
поэтому если конечно это реальный проект а не курсовая - зачем она такая нужна.
вычислять правильнее паказания между последней и предпоследней записью - текущей и предшествующей ей.
п.с. теперь я начинаю понимать почему данные водотреста не сходтся с показаниями счетчика.