私の独断意見
単純なフィールドの定義のみでは実現不可能でスクリプトを書く必要がある。
解決例1
【基本動作原理】
ポップアップリストの表示に別のデータベースの内容が指定できる。そこで、選択した県の市長村名データが入ったデータベースを動的に作成すすれば可能である。
【実際の例】
- 県、市町村名入力で使用するポップアップリスト表示用のデータベースを用意する。
【手順】
- ポップアップリスト表示用に県名、市町村名のフィールドを持つ全国のオリジナル・データベースを作成す。ここではデータベース名を「市町村リスト」とします。
県名 市町村名
-------------------------------------
埼玉県 坂戸市
埼玉県 川越市
埼玉県 東松山市
群馬県 太田市
群馬県 前橋市
|
- 市町村入力用のポップアップリスト参照用のデータベース「市町村temp」を「市町村リスト」からエクスポートを使って複製する。
- 「市町村リスト」データベースに以下の「maketemp」スクリプトを作成する。

※このスクリプトは、指定された県の市町村名のみを検索して、該当の市町村のみのデータベースを作成する。
- メイン(市町村名を使う)のデータベースを用意する
【手順】
- メインとなるデータベースの入力画面は、こんな感じになっていると思います。

- 次のスクリプトを作成する。

- 「市町村入力」ボタンに「picup」スクリプトを割り当てる。
- 「市町村フィールド」の表示形式に、ポップアップリストを選択し、リストとして「市町村名temp」を設定した値一覧を指定する。
このスクリプトはサブスクリプトとして実行されますが、呼ばれるときに県名がコピーされているところがミソです。
以下作成中
【サンプル】
解決例2(作成中)
ポータルを利用する。ポップアップリストと操作性は異なりますが同様のことができる。
- 動作原理
県名を照合フィールドに設定したリレーションを作成し、スクロールバー付きのポータルに該当する県の市町村名を表示して選択させる。
-
作成手順
- 「市町村マスタ」データベースの作成とフィールドの定義
市町村名の一覧を表示するため、以下のフィールドにもつデータベースを作成する。

※「選択県名」:市町村の一覧を表示ためのリレーションの照合フィールド
- 「市町村マスタ・県名」リレーションの定義
県の名前を指定指定すると該当する市町村の一覧を表示するために、自分自身へのリレーション「市町村マスタ・県名」を作成する。
- 「県名リスト」値一覧の定義
県名をリストから選択するために、以下のように値一覧「県名リスト」を作成する。

注 [フィールドの値を使用]を選択して、県名を一覧リストするようにする。
- 「市町村選択」レイアウト作成する。

※「県名選択」フィールドには、「県名リスト」指定した[ポップアップリスト]をフィールド書式で選択する。
※「選択」ボタンには、「選択」スクリプトを [ボタンの指定]の[スクリプトの実行]で設定する。
[現在のスクリプト]には[再開]を指定する。
※「市町村マスタ・県名」ポータル
- 「一覧表示」スクリプトの作成
一覧を表示するため、以下のような「一覧表示」スクリプトを作成する。
- 「選択」スクリプトの作成
市町村を選択してメインに値を返すために、いかのようなスクリプト「選択」を作成する。

※ コピーするフィールドは、「市町村マスタ・県名」リレーションの「::市町村名」関連フィールドである。
- 「main」データベースの作成とフィールドの作成
「市町村マスタ」データベースを使って住所を入力するテスト用データベースを作成する。

※住所を市町村マスタを使い入力する。
- 「main」データベースに「住所入力」レイアウトを作成する

※「住所一覧入力」ボタンに「一覧表示」スクリプトを割り当てる。
- 「一覧表示」スクリプトを作成する。

※[スクリプト実行]スクリプトには、「市町村マスタ」データベースの「一覧表示」スクリプトを指定する。
- サンプル
一覧入力サンプル2