2025/01/10

作ってみよう:#23)スマート名刺管理 - ノーツアプリとしての仕上げ

GPT4o API 連携機能が出来上がったので、ノーツアプリとして完成させます。


会社順ビュー

最初のビューは会社名順に表示するビューです。電話帳の索引のように 50 音でカテゴライズして表示します。

ビュー名 03.氏名\50音順
別名 vByCompany
選択式 xStatus := @TextToNumber(Status);
xStatus := @If(@IsError(xStatus); 0; xStatus);
SELECT Form = "fNameCard" & xStatus >= 3

ビューに表示するのは AI に問い合わせ後の文書としています。


◇ 列

作成する列は次の通り。

列名 列の値 補足
(後述)
昇順、カテゴリ別
会社名カナ CompanyName_Kn 昇順、非表示
会社名 CompanyName
氏名カナ Name_Kn 昇順、非表示
氏名 Name
所属 Dept
 

1 列目は会社名カナの 1 文字目でカテゴライズするための項目です。

単純に作ると次のように ”ト” と ”ド” が別カテゴリとなります。これに対応するため 1, 2 列目の[ソート]タブで「濁点/半濁点を区別してソート」のチェックを外します。

ただ、この対応だとカテゴリ内の最初の文書が濁点付きの場合、カテゴリにも濁点が付いてしまい美しくありません。そこで、1 列目の列式を次のように設定します。

xKana := CompanyName_Kn;

@If (xKana ="";@Return( "(不明)");@Success);

xIni := @Left(xKana; 1);

xFm := "ヴ":"ガ":"ギ":"グ":"ゲ":"ゴ":"ザ":"ジ":"ズ":"ゼ":"ゾ":"ダ":"ヂ":"ヅ":"デ":"ド":
"バ":"パ":"ビ":"ピ":"ブ":"プ":"ベ":"ペ":"ボ":"ポ";
xTo := "ウ":"カ":"キ":"ク":"ケ":"コ":"サ":"シ":"ス":"セ":"ソ":"タ":"チ":"ツ":"テ":"ト":
"ハ":"ハ":"ヒ":"ヒ":"フ":"フ":"ヘ":"ヘ":"ホ":"ホ";
xIni := @Left(xKana; 1);
xKeyword := @Replace(xIni; xFm; xTo);

xKeyword


◇ アクションボタン

下書きビューと同じアクションボタンを配置します。

ボタン名 Click 補足
閉じる @Command([FileCloseWindow])
新規作成 @Command([Compose]; "fNameCard")


氏名順ビュー

会社名順をコピペして氏名別のビューを作成します。

列は、まず、会社名と氏名の位置を逆転させます(ソート列を含む)。次に 1 列目の列式のフィールド名を修正します。

xKana := Name_Kn;

@If (xKana ="";@Return( "(不明)");@Success);
   ・・・ 以下同じ


下書きビューの変更

テスト中はステータスにかかわらず表示していましたが、下書きのみ表示するように選択式を変更します。

SELECT Form = "fNameCard" & Status = "0"


アウトラインの修正

作成したビューをアウトラインに追加します。一般利用者向けのビューとなるので、管理メニューと同列に作成します。


フレームセットの修正

最後に、フレームセットに初期表示するビューを会社順に変更します。


これで、ノーツクライアント用アプリとしては作業完了です。

次回からは、このアプリを Namad から利用できるように修正します。

前回 作ってみよう 次回


0 件のコメント:

コメントを投稿