ファイルメーカーデータベース「OB名簿」の計算フィールド・集計フィールド

2003.1.5 掲載


校正用住所行 = 郵便番号 & " " & 住所1 & 住所2 & 住所3

卒入団ソートフラグ = If( Left(入団年,1)="H", "2", "1")

→ 会員番号ベースにしたい。会員番号を付与する時に卒or入は判断しているので会員番号でもわかるが、E と G の ASCII 順が望む順番と逆なのでこのフラグは必要。cf. 会員番号ソートキー

年号コード = If( 卒入団ソートフラグ="1", If( Left(卒業年,1)="S", "2", If( Left(卒業年, 1)="T", "1", "3" ) ), "3")

→ 西暦ベース (会員番号ベース) にすると不要。しかしその場合でも表示用に年号計算は必要。

ソート用キー = 卒入団ソートフラグ & 年号コード & If( 卒入団ソートフラグ="1", Middle(卒業年,2,2), Middle(入団年,2,2) ) & ふりがな

→ 会員番号上5桁ケタから算出すると少し単純になりそう。

卒入団年出力用 = If( 卒入団ソートフラグ="1", 卒業年 & "卒", 入団年 & "入" )

→ 西暦ベースに変更したい。でも表示は年号で。

レコード作成日 自動入力、値変更不可
レコード修正日 自動入力、値変更不可

ラベル用氏名 = 名前 & " " & "様" & If( IsEmpty( 配偶者氏名 ), "", "・" & Trim( 配偶者氏名 ) & " 様"

→ 今年から「ご夫人名前」を「配偶者氏名」に変更、そのため配偶者も常にフルネームになる

会員種別 = If( IsEmpty( ご夫人名前 ), "", "夫婦会員" )

→ 徐々に使わなくする予定。夫婦会員は「配偶者会員番号」で判断できる。免除の人は「会費納入状況::納入済年度」で判断できる。cf. 免除フラグ

ふりがな頭文字 = Hiragana( Left(ふりがな), 1 ) )

旧姓ふりがな頭文字 = Hiragana( Left(旧姓ふりがな), 1 ) )

人数 = 名前のカウント (集計フィールド)

故人か = If( PatternCount( 備考, "故人" ) = 0, "", "故人" )

→ 故人用のボタンスイッチフラグを作る手もあるが、気が進まない。

故人数 = 故人かのカウント (集計フィールド)

→ 最近は統計を名簿に載せないので不要か。

ソート用キー統計用 = 卒入団ソートフラグ & 年号コード & If( 卒入団ソートフラグ="1", Middle(卒業年,2,2), Middle(入団年,2,2) )

→ 会員番号ベースに変更したい。が、最近は統計を名簿に載せないので、そもそも不要か。

ソート用キー会費用 = 卒入団ソートフラグ & ふりがな

→ 不要。

返信はがき数 = 来場はがき記載人数 のカウント (集計フィールド)

来場予定人数 = 来場はがき記載人数 の合計 (集計フィールド)

借金フラグ = If( 借金金額<>0, "0", "1" )

外国フラグ = If( Length(住所1)<>Lengthb(住所1), If( PatternCount( 住所1, "中華人民共和国" )=1, "0", "1" ), "0" )

→ 外国かどうかの判断。かなり ad hoc なやりかたなので漢字住所の国が増えるとうまくいかなくなる。

借金ラベル文字 = If( 借金フラグ="0", "借", "" )

写真ラベル文字 = If( 写真送付="送る", "写", "" )

写真フラグ = If( 写真送付="送る", "0", "1" )

→ 写真関係冗長。

プログラム郵送フラグ = If( プログラム郵送="希望しない", "0", "1" )

プログラム郵送ラベル文字 = If( プログラム郵送フラグ="0", "NP", "" )

故人かeng = If( PatternCount( 備考, "故人" ) = 0, "", "dead" )

→ なぜか漢字文字列では perl のスクリプトが動かなかったので苦しい代替措置

会員番号ソートキー = If( Middle(会員番号, 5, 1)="G", "0", "1" ) & 会員番号

→ E と G の順番を ASCII 順とは逆にするための措置

住所不明か = If( Length(住所1)=0, "住所不明", "" )

免除フラグ = 非保存(?), If( 会費納入状況::納入済年度="免", "0", "1" )