Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка Паспорта РФ, ликвидность паспорта РФ 
:(
    Опции темы
broker_001
  Дата 28.10.2012, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 31.7.2007

Репутация: нет
Всего: нет



ДОбрый день. запутался. помогите пожалста.

Приходит клиент и чтоб вручную не проверять ликвидность паспорта, появилась необходимость проверить при добавлении клиента в базу.

есть поля 
дата рождения UserBirthDate ДД.ММ.ГГГГ
Дата выдачи паспорта PassportDate ДД.ММ.ГГГГ
возраст UsersYearsCalc INT((NOW - [UserBirthDate]) / 365)

паспорт надо менять в 20 и 45 лет. тут то и началась путаница


PM MAIL   Вверх
broker_001
Дата 28.10.2012, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 31.7.2007

Репутация: нет
Всего: нет



Логика такая


=ЕСЛИ(И(NOW>=(NOW-(UserBirthDate+20));NOW<=(NOW-(UserBirthDate+45)));ЕСЛИ(И(PassportDate<(NOW-(UserBirthDate+45));PassportDate>(NOW-(UserBirthDate+20)));"valid";"invalid");ЕСЛИ(И(NOW>(NOW-(UserBirthDate+45));PassportDate>=(NOW-(UserBirthDate+45)));"valid";ЕСЛИ(И(NOW>(NOW-(UserBirthDate+14));NOW<(NOW-(UserBirthDate+20));PassportDate<(NOW-(UserBirthDate+20)));"valid";"invalid")))


дата выдачи у нас есть в 14 20 45 лет.
это код я сделал в ексель как его в мускул переделать?

Это сообщение отредактировал(а) broker_001 - 28.10.2012, 13:05
PM MAIL   Вверх
broker_001
Дата 28.10.2012, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 31.7.2007

Репутация: нет
Всего: нет



поменял синтаксис ошибка всеравно


IIf (OR (NOW>=(NOW-(UserBirthDate+20)), NOW <=(NOW - (UserBirthDate+45))), IIF (OR (PassportDate <(NOW-(UserBirthDate+45)), PassportDate > (NOW-(UserBirthDate+20))), 'valid','invalid'), IIF (OR (NOW>(NOW-(UserBirthDate+45)), PassportDate>=(NOW-(UserBirthDate+45))), 'valid', IIF(OR(NOW>(NOW-(UserBirthDate+14)), NOW<(NOW-(UserBirthDate+20)), PassportDate<(NOW-(UserBirthDate+20))), 'valid', 'invalid')))
PM MAIL   Вверх
Akina
Дата 28.10.2012, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(broker_001 @  28.10.2012,  14:04 Найти цитируемый пост)
это код я сделал в ексель как его в мускул переделать?

Excel, MySQL... а какого лешего тема создана в MS Access?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
broker_001
Дата 29.10.2012, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 31.7.2007

Репутация: нет
Всего: нет



 логику я сделал в екселе (что работает) мне сейчас эту же формулу надо сделать в акцесс
PM MAIL   Вверх
Akina
Дата 29.10.2012, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



broker_001, напиши пользовательскую функцию проверки валидности паспорта. Передавай ей дату рождения, дату выдачи паспорта, и считай, валиден он или нет.



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
broker_001
Дата 29.10.2012, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 31.7.2007

Репутация: нет
Всего: нет



Эх, я бы знал как. я знаю что самое простое в запросе указать sql запрос
PM MAIL   Вверх
Akina
Дата 29.10.2012, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



А в чём сложности?
Берём текущую дату и дату рождения, получаем возраст клиента. Исходя из возраста, считаем самую раннюю из возможных дат выдачи ему паспорта, чтобы он был ещё валиден. Полученную дату сравниваем с датой выдачи. Если выдано раньше - посылаем нафиг.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
tzirechnoy
Дата 29.10.2012, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16




Модератор: Сообщение скрыто.

PM MAIL   Вверх
bopoha
Дата 31.10.2012, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Для вычисления такого выражения стоит использовать процедуру. А еще лучше держать такой код не на сервере, а на клиенте.
PM MAIL WWW ICQ Skype GTalk   Вверх
Akina
Дата 1.11.2012, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(bopoha @  1.11.2012,  00:17 Найти цитируемый пост)
 А еще лучше держать такой код не на сервере, а на клиенте. 

Я думаю, и там, и там. На клиенте - в порядке входного контроля. На сервере - в порядке поддержания целостности и непротиворечивости информации.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0508 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.