Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Напоминалочка
 
 автор: Скорп   (02.03.2008 в 11:07)   личное сообщение
 
 


ох прав osmor, разработку завершить нельзя, её только волевым решением можно прекратить
а посколку я человек безволный....

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

в принципе, алгоритм понятен - юзером формируется запись с датой напоминания и когда ДатаНапоминания=Date(), и ИмяЮзера сформировавшего напоминалку совпадает с именем Юзера, работающего на компе, выскакивает напоминалка...
затык у меня, как сделать так, чтоыб можно было ее отложить на час, 2, 3..неделю...

ах да ->

  Ответить  
 
 автор: час   (02.03.2008 в 11:52)   личное сообщение
 
 

Может в таблице, где она храниться дату выскакивания поменять?
(перенести.... переместить)

  Ответить  
 
 автор: Explorer   (02.03.2008 в 13:16)   личное сообщение
 
 

менять значение - это ИМХО не лучшее решение

в принципе можно распатронить таблицы аутлука и посмотреть как там все устроено с напоминаниями (см скриншот)

но лучше сделать две разные таблицы -

События

EventID - Код события
EventNote - Описание события
EventStarts - дата+время начала события

Напоминания

NotifierID - код напоминания
EventID - код события
TimeShist - сдвиг времени от времени события...

таким образом к каждому событию можно хранить сколько угодно напоминаний

  Ответить  
 
 автор: час   (03.03.2008 в 08:09)   личное сообщение
 
 

Точно.........

  Ответить  
 
 автор: Скорп   (03.03.2008 в 18:23)   личное сообщение
 
 

чета не работает
при запуске базы вешаю форму "Органайзер" в скрытом состоянии

DoCmd.OpenForm "Органайзер", acNormal, "", "", , acHidden


на этой форме есть одна запись с датой события 4.03.2008

а что дальше-то?
на какое событие в форме повесить


If [ДатаНапоминания] = Date Then
DoCmd.OpenForm "Органайзер", acNormal, "", "", , acNormal
End If


и вообще, что это должно быть - одиночная форма, ленточная, таблица...??

  Ответить  
 
 автор: osmor   (04.03.2008 в 08:54)   личное сообщение
 
 

если напоминание может быть сдвинуто на час, то необходиммо и время напоминания задавать с часами, иначе как я могу создать напоминание например на 12-00 завтра?
Я бы сделал простую форму в которой показывал бы одно напоминание за раз, если есть 3 для данного пользователя на данное время , то они появятся поочереди.
Еще бы добавил поле "просмотрено", так проще отслеживать.
весь алгоритм таков.
При старте прилоджения стартует скрытая форма в которой есть установлено свойство таймер интервал (ну например 15 минут) и в событии таймер прописан код проверяющий в таблице папоминаний наличие непросмотренных (т.е. [просмотрено] = false) записей для данного пользователя у которых время напоминания + время сдвига меньше чем текущее (это можно делать с помощью Dlookup или dcount) елси записи есть текст напоминания выводится в форме напоминаний, если пользователь ее просто закрыл - то в этой записи ставится галка "просмотрено" если пользователь нажал кнопу отложить, запись откладывается на указанное время.
Тут если несколько тонких моментов со сдвигом напоминания, т.е. например у емня естьнапоминание на 12-00, я включил комп в 14-00, и получил напоминание, после этого я ставлю "отложить на 1 час" и через 15 минут (т.е. время таймера) снова получаю напоминание, т.е. при указании времени сдвига, нужно программно добавлять к времени сдвига разницу межжу текущей датой напоминания и текущим временем.

  Ответить  
 
 автор: Скорп   (04.03.2008 в 17:54)   личное сообщение
 
 

по поводу времени напоминания я пока специально его не прописывал, разобраться бы, чтобы впринципе работало, а время потом уж добавлю...

осмысливаю написаное ...

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList