2025/01/11

作ってみよう:#24)スマート名刺管理 - Nomad 用ビューの作成

名刺管理を Nomad で利用できるように機能を追加します。

今回は Nomad 用ビューの開発です。検索用のビューが中心なので地味な作業となりますが、Nomad アプリを使いやすくする要の設計と言えます。


埋め込み用ビューの作成

カード形式のデータベースのようにユーザの選択したキーワードに関連する名刺情報だけを表示するためのビューで、フォーム上に埋め込まれた単一カテゴリビューで利用します。

下図の通り、”ドミノ” という会社が、”タ行” と ”ト” のカテゴリで表示されるようになっており、2 通りの用途で使うハイブリッド構成になっています。

会社名順ビューをコピペして作成します。修正箇所は次の通りです。


◇ ビューの設定

ビュー名 (x.EmbByKeyword)
別名 mvEmbByKeyword
フォームの式 "mfNameCard"

なお、アクションボタンは不要なので削除します。


◇ 列式の修正

1 列目にあるカテゴリ列の式を以下の通り変更します。

xKana := CompanyName_Kn;

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

xIni := @Left(xKana; 1);

xFm := "イ":"ウ":"ヴ":"エ":"オ":"ガ":"キ":"ギ":"ク":"グ":"ケ":"ゲ":"コ":"ゴ":
"ザ":"シ":"ジ":"ス":"ズ":"セ":"ゼ":"ソ":"ゾ":"ダ":"チ":"ヂ":"ツ":"ヅ":"テ":"デ":"ト":"ド":
"ニ":"ヌ":"ネ":"ノ":"バ":"パ":"ヒ":"ビ":"ピ":"フ":"ブ":"プ":"ヘ":"ベ":"ペ":"ホ":"ボ":"ポ":
"ミ":"ム":"メ":"モ":"ユ":"ヨ":"ヲ";
xTo := "ア":"ア":"ア":"ア":"ア":"カ":"カ":"カ":"カ":"カ":"カ":"カ":"カ":"カ":
"サ":"サ":"サ":"サ":"サ":"サ":"サ":"サ":"サ":"タ":"タ":"タ":"タ":"タ":"タ":"タ":"タ":"タ":
"ナ":"ナ":"ナ":"ナ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":
"マ":"マ":"マ":"マ":"ヤ":"ヤ":"ワ";
xKeyword1 := @Replace ( xIni;xFm; xTo) +"行";

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

xKeyword1:xKeyword2


カテゴリ検索ビュー

保存された名刺情報からキーワードを検索するためのビューです。


◇ ビューの設定

ビュー名 (x.SchKeyword1)
別名 vSchKeyword1
選択式 xStatus := @TextToNumber(Status);
xStatus := @If(@IsError(xStatus); 0; xStatus);
SELECT Form = "fNameCard" & xStatus >= 3


◇ 列

列名 列の値 補足
(後述)
昇順、カテゴリ別
イニシャル (後述) 昇順


・ ”行” の列式

xKana := CompanyName_Kn;

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

xFm := "イ":"ウ":"ヴ":"エ":"オ":"ガ":"キ":"ギ":"ク":"グ":"ケ":"ゲ":"コ":"ゴ":
"ザ":"シ":"ジ":"ス":"ズ":"セ":"ゼ":"ソ":"ゾ":"ダ":"チ":"ヂ":"ツ":"ヅ":"テ":"デ":"ト":"ド":
"ニ":"ヌ":"ネ":"ノ":"バ":"パ":"ヒ":"ビ":"ピ":"フ":"ブ":"プ":"ヘ":"ベ":"ペ":"ホ":"ボ":"ポ":
"ミ":"ム":"メ":"モ":"ユ":"ヨ":"ヲ";
xTo := "ア":"ア":"ア":"ア":"ア":"カ":"カ":"カ":"カ":"カ":"カ":"カ":"カ":"カ":
"サ":"サ":"サ":"サ":"サ":"サ":"サ":"サ":"サ":"タ":"タ":"タ":"タ":"タ":"タ":"タ":"タ":"タ":
"ナ":"ナ":"ナ":"ナ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":"ハ":
"マ":"マ":"マ":"マ":"ヤ":"ヤ":"ワ";
xIni := @Left(xKana; 1);
@Replace(xIni; xFm; xTo) + "行"


・ ”イニシャル” の列式

xKana := CompanyName_Kn;

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

xIni := @Left(xKana; 1);

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

xKeyword


次回の予定

次回は、作成したビューを使って、Nomad 用のフォームを作成します。


前回 作ってみよう 次回


0 件のコメント:

コメントを投稿