songoku2009 Ответов: 1

FOXPRO - как рассчитать продолжительность жизни застрахованного лица ( *. DBF)


Всем Привет !
У меня есть проблема со временем застрахованного (база данных: FOXPRO) примера:
Таблица1:
fullname  | begindate  | enddate  | printdate	
-----------------------------------------------------
John   |  01/10/2013  |  30/09/2014  |  28/09/2013
John   |  01/12/2015  |  30/09/2016  |  28/11/2015
Mery   |  01/01/2010  |  31/12/2012  |  27/05/2011
Mery   |  01/01/2013  |  30/12/2013  |  29/12/2012
Tom    |  01/01/2010  |  31/12/2012  |  27/05/2011
Tom    |  01/09/2012  |  30/12/2013  |  29/08/2012
-----------------------------------------------------


как поставить постоянную времени на новую таблицу
постоянное время, прерывистое время Джона, Мери, Тома ?

Спасибо!

Что я уже пробовал:

Поля: Begindate - & gt; Дата начала страхования
Поля: Enddate - & gt; Дата окончания страхования

Это значит: на человека в год выдается единовременная карта, рассчитывают постоянную времени и периодически с момента занятия до конца.
Опыт:
John 
  + insured:     {01/10/2013-30/09/2014} (first year)= 12 month
  - not engaged: {01/10/2014-30/11/2015}             = 14 month
  + insured:     {01/12/2015-30/09/2016} (last year) = 10 month

-> no ongoing involvement
----------------------------------------
 Mery
  + insured: {01/01/2010 - 31/12/2012} (first year)= 36 month
  + insured: {01/01/2013 - 30/12/2013} (last year) = 12 month

-> ongoing involvement = 36 + 12 = 48 month
----------------------------------------
Tom
  + insured: {01/01/2010-31/12/2012} (first year)= 36 month
  + insured: {01/09/2012-30/12/2013} (last year) = 16 month

-> ongoing involvement = 36 + 12 = 48 month (not=36+16)
----------------------------------------

Я хочу показать все результаты другим .архив DBF
Я не знаю, как написать команду в FoxPro ?

Я попытался использовать массив для вычисления заданных результатов, но это не так, мы ищем помощь для кода. Большое спасибо !

1 Ответов

Рейтинг:
2

songoku2009

Поля: Begindate - & gt; Дата начала страхования
Поля: Enddate - & gt; Дата окончания страхования

This mean: per person per year are granted a one-time card, calculate the time constant and intermittently since engaged until the end. 
Exp: 
 John 
  + insured:     {01/10/2013-30/09/2014} (first year)= 12 month
  - not engaged: {01/10/2014-30/11/2015}             = 14 month
  + insured:     {01/12/2015-30/09/2016} (last year) = 10 month

-> no ongoing involvement
----------------------------------------
 Mery
  + insured: {01/01/2010 - 31/12/2012} (first year)= 36 month
  + insured: {01/01/2013 - 30/12/2013} (last year) = 12 month

-> ongoing involvement = 36 + 12 = 48 month
----------------------------------------
Tom
  + insured: {01/01/2010-31/12/2012} (first year)= 36 month
  + insured: {01/09/2012-30/12/2013} (last year) = 16 month

-> ongoing involvement = 36 + 12 = 48 month (not=36+16)
----------------------------------------

I want to show all the results to other .DBF file 
I don't know how to write the command in FoxPro ?

Thanks a lot !


Patrice T

Я обновил ваш вопрос, вы можете удалить его.
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.

songoku2009

*-----------------------------------------------------------
*------------------|&ЛТ; начать &ГТ;|-------------------------
*-----------------------------------------------------------
ЗАКРЫТЬ БАЗЫ ДАННЫХ
ЗАКРЫТЬ ВСЕ
ОЧИСТИТЬ ВСЕ
ПОНЯТНО
УСТАНОВИТЬ ДАТУ ФРАНЦУЗСКИЙ
УСТАНОВИТЕ СТОЛЕТИЕ НА
КОМПЛЕКТ ПОГОВОРИТЬ НЕ
УСТАНОВИТЬ ТОЧНОЕ ВЫКЛЮЧЕНИЕ

*-----------------------------------------------------------
*------------------|< BODY CODE >|-----------------
*-----------------------------------------------------------
*/--- доступный ---/
*---------------------------------------------------/
Размер ht(30), tu(30), den (30)
j=0

* / - - - Найти 01 Персию к массиву ---/
*---------------------------------------------------/
Используйте ПК
stop = пересчет()
Использование в ПК

Для i = 1 остановиться
Используйте ПК
j = i
Иди Джей
ht (j) = alltrim(htns)
ту(к) = gtri_tu
Ден(к)= gtri_den

Найдите для htns = ht(j)
ДЕЛАЙТЕ ПОКА НАШЛИ()
j = j + 1
Разброс полей gtri_tu по tu(j)
Поля разброса gtri_den TO den(j)

ENDDO
Использование в ПК

Используйте pc2
* ИДИТЕ ВНИЗ
Сбор данных с полей HT (j) htns

Для a = 1-j
Собрать из ту(в) месторождений ту
Соберите из ден (а) полей Ден
КОНЕЦЗА

Использование в pc2
*-----------------------------------------------

ПРОПУСКАТЬ
КОНЕЦЗА

используйте pc2
Просматривать

*-----------------------------------------------------------
* - - - Конец !
*-----------------------------------------------------------
использовать
вернуть