![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 04.02.2009
Сообщений: 2
|
![]()
Возникла вот какая проблема. Есть таблица с Ф.И.О и с датой рождения. Как сделать запрос, чтобы на сегодняшнюю дату выводилось количество полных лет - это основное. Была еще проблема с выводом Ф.И.О. кому исполнилось 18 лет. Было решено Now()-365*18. Можно ли как-то по-другому? или год всегда нужно переводить в дни??? Помогите, пожалуйста.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 30.01.2009
Сообщений: 18
|
![]()
Вроде Делфи Даты нормально вычисляет. Если не ошибусь, так можно:
Код:
6574 дней в 18 годах |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
newmister, кошмар...
![]() 1) а чем Ваш способ отличается от того, что описал автор вопроса в #1 ? 2) а какое отношение вопрос имеет к Дельфи?! nb. я уже молчу о том, что в функции StrToDate пропущены апострофы. Да и не всегда эта функция на вход принимает строку в формате dd.mm.yyyy - это зависит от региональных настроек Windows!!!! ![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 10.11.2009
Сообщений: 13
|
![]()
Примерно таже проблема.. но немножко не такая... вся загвоздка с подсчетом возраста в том что если вывожу в поле "Возраст" данные "День рождения" с таблицы на основе которой делаю форму проблем нет все работает (пришлось в нарушение задания привинтить к этой таблице поле"День рождения"), если пробую сделать так как в задании поле "Возраст" должно брать значание с другой таблицы этого же проекта - кроме ошибки ничего не могу добиться. Синтаксис в свойствах поля Данные =Format(Date()-(Кадры.[Дата роджения]))/360. В таком случае выдает ошибку, если убрать Кадры из формулы и брать данные из таблицы по умолчанию то работает. Где я ошибся?? Подскажите пожалуста.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]()
Если уж делаете, то сделайте фунцию, аргументом которой будет дата рождения. В этой функции вычислите кол-во полных лет на сегодняшнюю дату, после чего используйте ее (фунцию) в запросе. всего и делов..
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте Nick77.
в запросах MS Access допускается испльзование функций VBA, кол-во полных лет можно получить подобным полем запроса: Year(Date()-[Дата])-1900 все таблицы поля которых учавствуют в вычислении даты должны быть подключены к источнику строк - запросу формы. Если это не возможно - воспользуйтесь советом Abrakadabra Евгений. пользоваться "чужими ветками" форума не стоит. |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 10.11.2009
Сообщений: 13
|
![]()
За то что пользовался чужой темой прошу извенить.. обычно админы форумов нервно относятся к созданию новых тем...поэтому мне эта тема показалась наиболее подходящей к моей проблеме... Теперь по сути: я наверно не совсем внятно объяснил суть.. Дело в том что в задании уже прописано четко какую формулу мне писать в вычисляемое поле(Возраст = ()Состояние.Дата-Кадры.[Дата рождения]/360).. если я делаю форму на основе полей таблицы Состояние - то формула не работает - пишет ошибка , если я добавляю поле Дата рождения в таблицу Состояние то все пучком. Поэтому ваши рекомендации мягко говоря не совсем мне помогут в этой случае.. Пробовал делать форму на основе запроса где к полям таблицы Состояние было привинчено поле Дата рождения.. снова ошибка, делал форму добавляя поле Дата рождения с таблицы Кадры снова облом... Я понимая что полный делитант в акцессе но если дали такое задание значит есть путь решения ... подскажите как нормально связать эти поля с разных таблиц и сделать так чтобы вычисляемое поле работало. Спасибо за внимание.. и простите что продолжил в чужой теме.
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]() |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 10.11.2009
Сообщений: 13
|
![]()
Возраст = (Состояние.Дата-Кадры.[Дата рождения]/360)..еще раз повторяюсь не я выдумал.. мне лично пофиг что так и кто придумал .. что то считает приближенно и с меня хватит.. Вопрос в другом если текущая дата и дата рождения прописаны в одной таблице то в форме нет проблем вычислить по их указаной выше формуле что то прибиженно вычисляющее возраст.. проблема еще раз повторяюсь в другом если дату рождения беру с другой таблицы то облом не считает. Если не тяжело покажите на примере как правильно делать.. а писать тут для полного дилетанта умные выражения без точной формулировки куда все это привентить просто потеря мого и вашего многоуважаемые помошники времени. Извенити еще раз.. но не могу понять что то элементарное.. все примеры и вся теория что я проштудировал само собой подразумевает работу с одной таблицей.. может я просто не нашел нужного описания.. поэтому и обратился к вам.. Примерно как здесь http://www.cyberforum.ru/ms-access/t...read56847.html читая сообщения я не очень понял о чем идет речь... но когда глянул пример все стало на свои места.. так вот и я прошу укажите где четко описано как связывать данные из двух таблиц и вычислять возраст или покажите на примере.... Кстати благодаря примеру я решил вопрос записи текущих данных в таблицу.. Расчетное значение возраста после закрытия формы попадает в таблицу ,осталась только одна загвоздка удалить поле Дата рождения из таблицы Состояние и взять данные из таблицы Кадры.. вот и вся проблема...покажите пожалуста на примере как это реализовать..или дайте ссылку где ото описано.
Кстати немного повозился и решил проблему сохранения текущей даты в таблицу при выходе из формы... Значит так в режиме конструктора формы выбираем поле Дата, затем в свойствах в закладке События - Вход - назначаем Процедуру обработки событий и прописываем такой макрос Private Sub Дата_Enter() Me.[Дата] = Date End Sub Может кому пригодится.. Последний раз редактировалось Nick77; 12.11.2009 в 13:25. Причина: добавление ответа |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа с датами | Screame | Microsoft Office Excel | 1 | 11.07.2009 01:18 |
Работа с датами | Tanuska___:) | БД в Delphi | 6 | 18.09.2008 13:56 |
Работа с датами | Ozerich | Общие вопросы Delphi | 6 | 07.08.2008 10:03 |
Работа с датами | SanekIrk | Общие вопросы Delphi | 5 | 11.07.2008 22:01 |
работа с датами | kolduev | Помощь студентам | 6 | 27.02.2008 19:54 |