Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2010, 15:27   #1
atenon
Форумчанин
 
Регистрация: 05.12.2009
Сообщений: 253
По умолчанию Пересчет даты

Доброго времени суток уважаемые форумчане.
Возникла такая проблема:
Поле Дата предыдущей аттестации Поле Дата следующей аттестации
Суть задачи такая чтобы дата бралась из первого поля к ней добавлялось три года и полученная дата отражалась во втором поле. Если дата попадает на первое полугодие текущего года то цвет шрифта красный, если на второе полугодие то цвет шрифта например синий.
У самого познания в Access на самом примитивном уровне если не сложно подскажите пожалуйста как это сделать.
Спасибо.
Приходится бежать со всех ног, чтобы только остаться на том же месте! Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее! Льюис Кэрол
atenon вне форума Ответить с цитированием
Старый 02.12.2010, 19:54   #2
Abrakadabra
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 487
По умолчанию

Цитата:
Сообщение от atenon Посмотреть сообщение
чтобы дата бралась из первого поля к ней добавлялось три года и полученная дата отражалась во втором поле. Если дата попадает на первое полугодие текущего года то цвет шрифта красный, если на второе полугодие то цвет шрифта например синий.
Так примерно:
На событие "после обновления" первого поля повесьте код:
Me.ИмяВторогоПоля=DateAdd("yyyy", 3, Me.ИмяПервогоПоля)

(Кроме этого, возможно, в зависимости от структурных особенностей формы, нужно будет обработать указанный код в Current формы..)

С цветами проще. Используйте условное форматирование для второго поля (Используйте IIf и DatePart c "квартальными" параметрами)
Abrakadabra вне форума Ответить с цитированием
Старый 02.12.2010, 20:06   #3
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте atenon.
"..добавлялось три года.." - поможет следующая конструкция:
Код:
DateAdd("YYYY", 3, [Дата предыдущей аттестации])
"..Если дата .. первое полугодие текущего года то цвет шрифта красный..":
Код:
Поле1.ForeColor = IIf(v >= DateSerial(Year(Date), 1, 1) And v < DateSerial(Year(Date), 7, 1), 255, 0)
способ их применения надеюсь придумаете самостоятельно.
ведь не известна версия MS Access с которой Вы работаете.
Евгений.

Последний раз редактировалось Teslenko_EA; 02.12.2010 в 20:09.
Teslenko_EA вне форума Ответить с цитированием
Старый 10.12.2010, 19:17   #4
atenon
Форумчанин
 
Регистрация: 05.12.2009
Сообщений: 253
По умолчанию

Спасибо за помощь
Приходится бежать со всех ног, чтобы только остаться на том же месте! Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее! Льюис Кэрол
atenon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
автоматический пересчет данных на листе - код peq Microsoft Office Excel 4 15.10.2010 13:17
Пересчет данных листа до выхода из макроса ELE-COM Microsoft Office Excel 5 14.05.2010 11:21
Пересчет ячеек нарастающим итогом WIC Microsoft Office Excel 2 15.04.2010 17:07
пересчет данных в таблице по примеру. vkopitsa Microsoft Office Word 7 14.03.2010 11:39
пересчет таблицы с использованием макроса shematov Microsoft Office Excel 14 02.09.2008 11:24