|
|
|
|
ох прав osmor, разработку завершить нельзя, её только волевым решением можно прекратить
а посколку я человек безволный....
вот, нужно в базе соорудить напоминалку
можно конечно поставить отдельную прогу, можно использовать аутглюк...
а кто нить делал напоминалку в базе?
поделитесь идеями, а может и готовыми решениями...
в принципе, алгоритм понятен - юзером формируется запись с датой напоминания и когда ДатаНапоминания=Date(), и ИмяЮзера сформировавшего напоминалку совпадает с именем Юзера, работающего на компе, выскакивает напоминалка...
затык у меня, как сделать так, чтоыб можно было ее отложить на час, 2, 3..неделю...
ах да -> | |
|
| |
|
|
|
| Может в таблице, где она храниться дату выскакивания поменять?
(перенести.... переместить) | |
|
| |
|
|
|
| менять значение - это ИМХО не лучшее решение
в принципе можно распатронить таблицы аутлука и посмотреть как там все устроено с напоминаниями (см скриншот)
но лучше сделать две разные таблицы -
События
EventID - Код события
EventNote - Описание события
EventStarts - дата+время начала события
Напоминания
NotifierID - код напоминания
EventID - код события
TimeShist - сдвиг времени от времени события...
таким образом к каждому событию можно хранить сколько угодно напоминаний | |
|
| |
|
|
|
| Точно......... | |
|
| |
|
|
|
| чета не работает
при запуске базы вешаю форму "Органайзер" в скрытом состоянии
DoCmd.OpenForm "Органайзер", acNormal, "", "", , acHidden
|
на этой форме есть одна запись с датой события 4.03.2008
а что дальше-то?
на какое событие в форме повесить
If [ДатаНапоминания] = Date Then
DoCmd.OpenForm "Органайзер", acNormal, "", "", , acNormal
End If
|
и вообще, что это должно быть - одиночная форма, ленточная, таблица...?? | |
|
| |
|
|
|
| если напоминание может быть сдвинуто на час, то необходиммо и время напоминания задавать с часами, иначе как я могу создать напоминание например на 12-00 завтра?
Я бы сделал простую форму в которой показывал бы одно напоминание за раз, если есть 3 для данного пользователя на данное время , то они появятся поочереди.
Еще бы добавил поле "просмотрено", так проще отслеживать.
весь алгоритм таков.
При старте прилоджения стартует скрытая форма в которой есть установлено свойство таймер интервал (ну например 15 минут) и в событии таймер прописан код проверяющий в таблице папоминаний наличие непросмотренных (т.е. [просмотрено] = false) записей для данного пользователя у которых время напоминания + время сдвига меньше чем текущее (это можно делать с помощью Dlookup или dcount) елси записи есть текст напоминания выводится в форме напоминаний, если пользователь ее просто закрыл - то в этой записи ставится галка "просмотрено" если пользователь нажал кнопу отложить, запись откладывается на указанное время.
Тут если несколько тонких моментов со сдвигом напоминания, т.е. например у емня естьнапоминание на 12-00, я включил комп в 14-00, и получил напоминание, после этого я ставлю "отложить на 1 час" и через 15 минут (т.е. время таймера) снова получаю напоминание, т.е. при указании времени сдвига, нужно программно добавлять к времени сдвига разницу межжу текущей датой напоминания и текущим временем. | |
|
| |
|
|
|
| по поводу времени напоминания я пока специально его не прописывал, разобраться бы, чтобы впринципе работало, а время потом уж добавлю...
осмысливаю написаное ... | |
|
| |