|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.08.2011, 11:34 | #1 |
Регистрация: 26.11.2009
Сообщений: 9
|
отображение даты последних изменении
привет всем!, подскажите пожалуйста как прописать код,чтобы на форме отображалась дата последних изменений данных.
И еще вопрос? как задать условие, чтобы из текущей даты вычесть дату рождения ребенка и при наступлении 18 лет, автоматически перебрасывался он в другую таблицу. заранее всем благодарна |
09.08.2011, 15:01 | #2 |
Форумчанин
Регистрация: 17.07.2011
Сообщений: 145
|
1.Думается надо создать поле типа DateUpdate и при внесении изменений
DateUpdate = Now() 2. Два запроса - первый добавление записей в таблицу взрослых; условие Year(Now()) - 'поле где указан год рождения' >= 18 - второй на удаление с таким же условием Запускать оба запроса при загрузке базы например, только не перепутать сначала первый потом второй |
09.08.2011, 15:46 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
по первому вопросу согласен.
а по второму - нет! Предложенный вариант не годится! я Вам настоятельно для решения второго вопроса рекомендую сходить в тему: Подсчет возраста там в пост #3 есть готовый запрос для решения задачи. ну и последнее. Цитата:
не должны данные перебрасываться из одной таблицы в другую по мере изменения их статуса.. списки нужно получать запросом на любой заданный срез времени. и с любым статусом.. Подумайте, что произойдёт, если дату на компьютере переставят на 10 лет вперёд и запустят Вашу программу... Разгребёте после этого, кто куда неправильно перенёсся?!! но, впрочем, поступайте так, как считаете нужным - это уже воля Ваша, как разработчика... |
|
09.08.2011, 15:55 | #4 |
Форумчанин
Регистрация: 17.07.2011
Сообщений: 145
|
согласен что вариант не слишком изящный, так что был не прав
насчёт организации полностью согласен с Serge_Bliznykov, отделить взрослых от детей довольно просто, но что если "детская" таблица имеет гораздо меньше полей, то есть обединение в одну таблицу взрослых и детей, должно увеличить размер таблицы, и соответственно базы, думается мне что пустые поля всё же занимают определённое место на диске и всё же имея год рождения нет так сложно "перекинуть" из одной таблицы в другую, даже если системная дата резко изменится. Последний раз редактировалось satka; 10.08.2011 в 02:29. |
09.08.2011, 18:07 | #5 |
Регистрация: 26.11.2009
Сообщений: 9
|
[quote=satka] Думается надо создать поле типа DateUpdate и при внесении изменений
DateUpdate = Now() по первому вопросу не поняла.ну создала я поле,вывела его на форму,а как прописать чтоб прогр понимала,что при внесение изменения,на форме отображалась дата последнего редактирования данных. Последний раз редактировалось ketrik5; 09.08.2011 в 18:14. |
09.08.2011, 18:12 | #6 |
Регистрация: 26.11.2009
Сообщений: 9
|
по первому вопросу не поняла.ну создала я поле,вывела его на форму,а как прописать чтоб прогр понимала,что при внесение изменения,на форме отображалась дата последнего редактирования данных.
|
09.08.2011, 23:46 | #7 | |
Форумчанин
Регистрация: 17.07.2011
Сообщений: 145
|
Цитата:
If Me.Dirty then DateUpdate = Now() и поле обновится, даже не занаю как лучше объяснить, давайте базу поправлю |
|
10.08.2011, 09:24 | #8 |
Регистрация: 26.11.2009
Сообщений: 9
|
добавила всё как вы написали, и что то не идет, опять наверно я не так что то сделала. вот выкладываю базу. Сначала заходим на форму Общие сведения, 2 раза нажимаем на любую фамилию, появляется форма Подробно о семье, и в самом внизу добавила поле ну и на него событие, может что то не так сделала.
|
10.08.2011, 13:33 | #9 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
Если я всё правильно понял и данные вносятся в таблицу Famili то лучший вариант это добавить в данную таблицу поле с датой последих изменений по каждой семье (+ я бы добавил дату добавления семьи в справочник).... и просто по каждому обновлению обновлять значение даты
|
10.08.2011, 15:48 | #10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Например, в данном случае (если я правильно понял), нужно добавить в таблицу family поле DateUpdate но и этого ещё мало. Поле на форме не должно быть редактируемым! Надо обязательно ЗАКРЫТЬ ввод данных в него! А данные должны записываться в событиях изменения... я абсолютное не знаю формы MS Access и их события... но я бы начал изучать/искать/пробовать с событий формы "Изменение данных" или "Изменение набора данных" (см. рисунок) и в этом событии и надо присваивать Family.DateUpdate = Now() по второму вопрос (с переносом записей я ещё разбираюсь). Но сразу не могу не отметить БОЛЬШОЙ просчёт в организации таблицы Children! Зачем Вы храните (и вводите) день, месяц и год рождения - как отдельные числовые поля?! Ведь Вам туда легко забьют не только 29.02.2011 но и 35.47.2012! Есть же тип DateTime (в русском MS Access он называется "Дата/время") - вот его и надо использовать для хранения даты рождения ребёнка!!! p.s. А Вы всё это самостоятельно разработали?!! Последний раз редактировалось Serge_Bliznykov; 10.08.2011 в 15:53. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
отображение даты в DateTimePicker | Desha | Компоненты Delphi | 3 | 17.10.2010 16:25 |
Отображение даты | Айгуля | Общие вопросы Delphi | 2 | 11.06.2010 22:38 |
Отображение даты | Айгуля | Общие вопросы Delphi | 2 | 11.06.2010 18:24 |
FastReport отображение даты в длинном формате! | R11 | Помощь студентам | 5 | 26.03.2010 23:37 |
Автоматизация заполнения даты и зависимость ячейки времени к ячейке даты. | Каравай | Microsoft Office Excel | 14 | 11.03.2010 18:11 |