Новости:

Название темы должно отражать суть задачи.
Темы типа "ПОМОГИТЕ!!!", "Срочно!" и т.п. будут удаляться без объяснения причин

Главное меню

Контроль за временем внесения записи в базу данных

Автор Матроскин, 17.04.2013, 23:47:39

« назад - далее »

Матроскин

Всем привет!
Схема такая:  Excel -> VBA -> ADO(2.8 ) -> Access(.mdb)
В конторе - локальная сеть. У меня на компе расшарена папка с базой данных (БД). К ней открыт доступ для пользователей (пара десятков человек). Взаимодействуют они с БД только посредством файла Excel.
Каждая внесенная запись содержит поля Numb (сплошной номер записи), UserLogin (Environ("UserName")) и RecordTime (Now), а также поля с основной информацией. Записи могут только добавляться (не редактируются и не удаляются).

Проблема следующая: RecordTime соответствует времени на компьютере пользователя (которое можно сменить), что даёт пользователям возможность по желанию вносить данные "задним числом" (и "передним"). Особо грубые несоответствия можно отловить с помощью поля Numb, поскольку оно заполняется в четкой последовательности, а потом настучать на UserLogin. Но меня это не устраивает, нужна точность в определении времени в пределах 20 минут.

Вопрос: как отслеживать перед записью данных в БД, что время пользователя существенно отличается от "нормального" времени, и откуда это "нормальное" время взять?
(с учетом того, что сам являюсь рядовым пользователем локальной сети )

Дмитрий Щербаков(The_Prist)

Получаете текущую дату с интернета(любой сайт, на котором есть дата), сравниваете с Date(т.е. системная дата на ПК). Как-то так.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Матроскин

Цитата: The_Prist от 18.04.2013, 09:32:04
Получаете текущую дату с интернета...
Проблема в том, что компьютеры локальной сети не имеют доступа в интернет.

Юрий М

Вариант: получать системное время с сервера, к которому пользователи не имеют доступа. Как получить - не знаю: не задавался такой целю))
В своё время для синхронизации времени на всех компьютерах у нас на работе использовали программу AboutTime. Попробовать её (или подобную) программно запускать в тот момент, когда вносятся данные.

Дмитрий Щербаков(The_Prist)

Есть такая функция ДРВ: http://support.microsoft.com/kb/289150
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Матроскин

Спасибо! Пока не получилось, но буду продолжать копать в указанном направлении)

Яндекс.Метрика Рейтинг@Mail.ru