NEWS

お知らせ

【新機能紹介】マスタ/詳細レイアウトについて

 この機能により、現在の対象レコードを表示するポータルを作成することができます。バージョン16 で同じような動作を再現するためには、現在の TO (テーブルオカレンス) とは別に、リレーションで繋がれた別の TO が必要でしたが、本機能は、レイアウトに割り当てられた TO のみで使用できます。
 現在の対象レコードを表示するポータルを「マスタ領域」、現在のレコードのデータを表示する部分を「詳細領域」と呼びます。

マスタ領域の設置方法

 レイアウト上にポータルを設置し、[レコードを表示:] オプションで「 現在のテーブル(「現在のテーブル名」) 」を選択するだけで OK です。

その他のオプションについて

・ポータルレコードのソート

このオプションは設定できません。ポータルレコードのソート順は、現在の対象レコードのソート順と連動します。

・ポータルレコードのフィルタ

このオプションは設定できません。表示されるポータルレコードは、現在の対象レコードと連動しており、それのみでしかポータルレコードをフィルタすることはできません。

・ポータルレコードの削除を許可する

このオプションは常にオンです。

・垂直スクロールを許可

このオプションは常にオンです。さらに、[スクロールバーを表示:] オプションは選択できますが、[レコード終了時にスクロールバーをリセット] オプションは常にオフです。

・最初の行

このオプションは常に 1 です。つまり、対象レコードの途中からポータルレコードを表示する設定はできません。

・行数

このオプションは通常のポータルと同じように設定でき、動作します。

・代替の行状態を使用

このオプションは通常のポータルと同じように設定でき、動作します。

・アクティブな行状態を使用

このオプションは通常のポータルと同じように設定でき、動作します。

動作について

 以下、特に言及しない限りは、「ポータル」とは「マスタ領域」を指すものとします。

ポータルレコードを選択する

 ポータルレコードを選択すると、現在のレコードも切り替わります。逆に、現在のレコードを切り替えると、ポータルレコードも切り替わります。

検索モードで新規検索条件を追加する

 新規検索条件を作成すると、ポータル上にもそれに連動して検索条件レコードが作成されます。イメージとしては、リスト表示のレイアウトで検索モードを操作した時の動作に近いです。

対象レコードを絞り込む

 対象レコードを絞り込むと、ポータル上のレコードもそれに連動してフィルタされます。

対象レコードをソートする

 対象レコードをソートすると、ポータル上のレコードもそれに連動してソートされます。

レコードを削除する

 レコードを削除すると、ポータル上のレコードもそれに連動して表示されなくなります。

注意点

ポータルレコードの削除を許可する について

 現在のレコードを、ツールバーやメニューバー、ショートカットから削除する機能を簡単に抑制する場合、カスタムメニューから、レコード削除の項目を削除するかと思います。この操作だけでは、Delete キーや Backspace キー によるポータルレコードの削除は抑制できません。そのため、[ポータルレコードの削除を許可する] オプションをオフにすることで、キー入力によるポータルレコードの削除を抑制するのですが、前述の通り、[現在のテーブル] ポータルにおいては、[ポータルレコードの削除を許可する] をオフにすることができません。つまり、単純な設定ではポータルレコードの削除を抑制できないのです。

 対応策としては、以下のふたつが考えられます。

  1. カスタムアクセス権でレコードを削除できないようにする
     アクセス権セットの編集 → データアクセスとデザイン → レコード: → カスタムアクセス権… から、削除の権限を制限します。アクセス権は、データベースの様々な場所、様々な場面で重要な役割を果たしますので、データベース全体のことを考えた上で設定することが重要です。

  2. スクリプトトリガでキー入力をキャンセルする
     1 よりも簡単な方法で、そこまで厳密なアクセス権セットの設定をしないデータベースにおいて有効です。ユーザのキー入力およびフィールドがアクティブかどうかをスクリプトトリガで検知し、場合に応じて「現在のスクリプト終了 [ テキスト結果: 0 ]」で、イベントをキャンセルします。基本的にレコードの削除はさせるが、マスタ領域ポータルからの削除はさせたくない、という場合にも有効です。
pagetop
PAGE TOP