4D v13.4

データ入力用のリストを設計する

ホーム

 
4D v13.4
データ入力用のリストを設計する

データ入力用のリストを設計する  


 

 

リストの用途のひとつは、データ入力時に値を選択するために値一覧をユーザーに提供することです。この目的をはじめとして、リストを使用する理由をいくつか次に示します:

  • あらゆるフォーム、または選択したフォームでリストを共有できます。
  • 長いリストは複数の小さなリストに分割できます。
  • 入力できる値をリストの項目に制限したり、またはユーザーに別の値の入力を許可することができます。
  • ユーザーにリストの変更を許可したり、またはリストの変更を禁止することができます。

フィールドプロパティあるいはデータベースストラクチャーレベルでリストをフィールドに割り当てることができます。フィールドにリストを割り当てると、リストフォームか詳細フォームかに関わらず、そのフィールドをデータ入力のために選択すると、常にリストが表示されます。ユーザーはこのリストから項目を選択することができます。リストが並べ替えられている場合は、ユーザーがキーボードで文字を入力すると、リストが自動的にスクロールされます。例えば、“N”と入力すると、リストは“N”で始まる最初の項目までスクロールされます。ユーザーは目的の項目が現れた時点で入力を中止し、その項目をリストから選択することができます。

ストラクチャエディターのインスペクタを使用してフィールドにリストを割り当てた場合は、クエリエディターでそのフィールドが選択された際にもリストが表示されます。詳細はフィールドプロパティを参照してください。

また、フォームのデータ入力制御としてリストをフィールドに割り当てることもできます。この場合、リストはその入力フォームでフィールドが選択された場合にのみ表示され、その他のフォームやクエリエディターでは表示されません。次の図は、選択リストが表示されている様子を示しています。

リストに含まれる項目数が限られている場合、リストを使用する必要はないかもしれません。例えば、“男性”と“女性”という2 つの値しかないリストであれば、ブールフィールドを使用した方が良いかもしれません。ブールフィールドを使用すると、ラジオボタンやピクチャラジオボタンなどのインタフェース要素を利用することができます。選択項目が4 つある場合でも、チェックボックスを利用することができます。

4Dでは階層リストを作成できます。親リストを選択するとサブリストが表示されます。

階層リストの利用方法には標準といえるものがなく、その使用目的により変わります。例えば、都市リストには項目が数多くあるため、選択に時間がかかります。このような問題のために階層リストを使用したい場合は、いくつかの対処法があります。

入力のためにリストを使用する以外にも、階層リストを使用して次のオブジェクトに値を代入することができます:

値のリストを2種類の値に分けることがよくあります。前述の例では、最も頻繁に選ばれた都道府県を割り出してみます。選択された値のうち80%が一部の都道府県であれば、これらの都道府県をリストに入れ、残りの都道府県を次の図のようなサブリストに格納することができます。

これにより、全体の80%の項目を直接選択できるようになり、多くの場合で入力処理が速くなります。

これとは別に、地域別に都道府県をまとめる方法もあります。最初に表示されるリストから地域を選択して、サブリストにより都道府県を選択することができます。この場合、地域を選択してから都道府県を選択する必要がありますが、47都道府県のリストの中から1つを選択するよりは速いでしょう。

データ入力作業のなかには、さほど重要ではないものもあります。リストに存在しない値を入力しても、まったく問題がないような場合です。しかし、リスト内に存在する値を入力しなければならないアプリケーションもあるかもしれません。別の値を入力してしまうと、請求書の支払遅延などの深刻な結果をもたらす場合もあるでしょう。

4D では、フォームのデータ入力制御の一部として指定値リストを設定することができます。このタイプのデータ入力制御を使用すると、ユーザはリスト上にある値以外の値を入力できなくなります。例えば、人事データベースにおいて、会社で許可される役職名が特定のものに限定されている場合です。

もう一つのデータ入力制御では、リスト内の値を除外することができます。この場合ユーザーはフィールドに格納すべきではない値を入力できません。例えば、会社では特定の国々で商売を行なわないかもしれません。これらの国々を除外リストに入れると、その値が入力できなくなります。

数値や日付、時間の各フィールドに設定する最大値と最小値は、最も効果的なデータ入力制御の1 つです。最大値と最小値を設定すると、ユーザはこの範囲外の値を入力できなくなります。

フィールドに3 種類の範囲を受け入れる場合について考えてみましょう。リストを使用して、このような不連続な範囲を設定することができます。このリストをフィールドの指定リストに設定し、この3 つの範囲以外の値を受け入れないようにすることができます:

これとは逆に、有効ではない範囲を指定するリストを作成することもできます。フィールドの除外値リストとして、このようなリストを作成すると、その範囲内の入力値は受け入れられなくなります。

 
プロパティ 

プロダクト: 4D
テーマ: リスト