ルックアップキー[フィールド一覧]
ほかのデータベースのフィールドと関連付けて、値を参照する手がかり(キー)となる領域です。
参照先として関連付ける、フォルダー・データベース・フィールドを設定します。
値を自動・手動のどちらで更新するかを設定できます。
- [ルックアップキー]と[ルックアップ]
[ルックアップキー]と[ルックアップ]は、ほかのデータベースのデータをそのまま参照して利用できる便利なフィールドです。
[ルックアップキー]を設定したレコードの値は、[ルックアップキー]の参照先として設定したデータベースのレコード一覧から、値を選択して設定できます。
[ルックアップ]を設定したレコードがある場合は、[ルックアップキー]の値を選択すると、その値と連動してルックアップの値が更新されます。
- データベース編集画面(一覧/フォーム)
- データベース閲覧画面(レコード一覧)
- データベース閲覧画面(ビューアー)
表示・設定項目
- フィールドの種類
- フィールドの種類と、種類を示すアイコンを表示します。
- フィールド名
- データベースの項目名となる名前を、全角・半角を問わず40文字以内で設定します。
- 参照先フィールド
- [ルックアップキー]に関連付ける、参照先のキーとなるフィールドを設定します。
参照先となるフォルダー・データベース・レイアウト・フィールドを、表示された一覧から順に選択して設定します。※フィールドとして表示されるのは、[文字列(1行)]・[数値]・[自動採番]・[メール]の種類だけです。
※レイアウトでは[指定なし]を選択できます。
- [レコードの更新方法]が[自動更新]の場合、[参照先フィールド]には、自動採番フィールドと[重複した値の入力を禁止する]がオン(
)に設定されているフィールドしか設定できません。
また、重複した値を持つキーを参照先とする場合は、[重複した値をもつ参照先フィールドも対象にする]をオン()にします。
- 参照先フィールドの変更
ルックアップキーフィールドの参照先は、ルックアップキーフィールドや関連付けられたルックアップフィールドのフィールド設定が、変更前と変更後とで同じ構成となるときに変更できます。
ルックアップキーフィールドの設定で[参照先フィールド]の右側にある[参照先の変更]をクリックすると、参照先フィールドを選択できるようになります。
変更後の参照先として指定できるのは、次の条件を満たすデータベースにあるフィールドです。
- 現在のルックアップキーフィールドが参照しているフィールドとデータ型と設定が同じであるフィールドが存在する
- 現在のルックアップキーフィールドに関連付けられたルックアップフィールドが参照するフィールドと、データ型と設定が同じであるフィールド群が存在する
※ルックアップフィールドをルックアップしている場合の変更先は、変更前と変更後とで、データ型と設定が同じであるフィールドを参照するルックアップフィールドである必要があります。
※すでに登録されたレコードがある場合は、変更できません。
- 現在のルックアップキーフィールドが参照しているフィールドとデータ型と設定が同じであるフィールドが存在する
- [レコードの更新方法]が[自動更新]の場合、[参照先フィールド]には、自動採番フィールドと[重複した値の入力を禁止する]がオン(
- レコードの更新方法
- 関連付けた、参照先のフィールドの、値の更新方法を選択します。
※設定をあとで変更することはできません。
- 自動更新
常に参照先のフィールドの値に更新します。レコードを保存しなくても、新しい値に更新されます。
- 手動更新
[参照先フィールド]で[重複した値の入力を禁止する]がオン()の場合は、
がクリックされたタイミングで、新しい値を取得します。
オフ()の場合は、
をクリックして新しい値を選択します。
新しく取得した値は、そのレコードを保存するときに更新されます。このため、レコードを保存しない場合は、更新されません。
- 自動更新と手動更新のメリット・デメリット
メリット デメリット 自動更新 - 参照先のレコードの値が変更されると、ルックアップの値に自動的に反映されます。そのため、常に最新の値を表示したい場合に向いています。
- ルックアップの値が参照先の値に合わせて変わるため、レコード作成・更新時の値を記録することが重要なデータベースには不向きです。
[例]見積書管理データベースの場合
商品マスターを自動更新で参照すると、商品マスター側で価格が変更されたときに、見積書の内容も同時に更新されます。このため、見積書作成時点のデータが失われます。
- 自動更新で参照するレコード数の増加に比例して、参照される側のレコードの更新や削除に時間がかかるようになります。特に、自動更新のルックアップに対してさらに自動更新のルックアップを設定した場合や、自動更新のルックアップを計算対象とする数値計算・日時計算を設定した場合に、大きく影響が出ます。
このような場合は、手動更新で用途を満たせるか検討し、満たせるようならば手動更新を使用することをお勧めします。
手動更新 - [変更]をクリックしない限り、参照先の値の変更が反映されません。そのため、レコード作成・更新時の値を記録したい場合に向いています。
- 参照先から取得した値を編集することもできます。そのため、常に参照先の値をそのまま使用するだけでなく、変更も許可する柔軟な運用ができます。
- 参照するレコード数が増加しても、参照される側のレコード更新や削除にかかる時間が増えることはありません。
- 参照先のレコードの値が変更されても、自動的には反映されません。そのため、常に参照先の最新の値を表示したいデータベースには不向きです。
[例]備品管理データベースの場合
社員マスターを手動更新で参照すると、社員マスター側で社員の内線番号が変更されても、備品管理側には反映されずに以前の番号が表示されたままとなります。
- 参照先のレコードの値が変更されると、ルックアップの値に自動的に反映されます。そのため、常に最新の値を表示したい場合に向いています。
- 自動更新
- 詳細設定
- フィールドの詳細設定画面を表示します。もう一度クリックすると、詳細設定画面が閉じます。
※初期設定の内容でよい場合は、設定を省略できます。
- 入力値の詳細
- 初期値
- レコードのデータを入力するときに、初期値として表示する内容を設定します。
初期値を設定しておくと、新しいレコードを作成する際に、ルックアップキーに初期値が自動的に入力されるだけでなく、ルックアップキーに対応したルックアップの値も自動的に入力されます。
ただし、[レコードの更新方法]で[手動更新]を選択し、[重複した値をもつ参照先フィールドも対象にする]がオン()の場合は、ルックアップキーの初期値だけが入力されて、ルックアップの値は反映されません。
- ログインユーザー
[参照先フィールド]がユーザーフィールドの場合に、ログインユーザーをルックアップキーの初期値にする場合にオン()にします。
ただし、ルックアップキーの参照先のユーザーフィールドで、[選択形式]を[指定されたユーザーから選択]にしている場合、選択肢のユーザーの中にログインしているユーザーがいない場合は、初期値は入力されません。
- ログインユーザー
- 入力必須にする
- 入力を必須にするかしないかを選択します。オン(
)にすると、入力が必須の項目に設定できます。
- リンクの設定
- ルックアップ先へのリンクをつける
- ビューアーにルックアップキーの値を表示する際、参照先のレコードへのリンクを付けて表示するかしないかを選択します。
オン()にするとリンクを付けます。リンクをクリックすると、指定したウィンドウに参照先の[データベース閲覧]画面を表示して、参照先のレコード情報をビューアーに表示します。
ただし、ルックアップキーの参照先の値が重複している場合は、値で絞り込んだレコード一覧を表示します。
- 別ウィンドウで開く
リンクをクリックすると、新しいウィンドウ、または新しいタブを開いて参照先を表示します。 - 同じウィンドウに表示する
リンクをクリックすると、参照先に切り替わります。
※オン(
)にした場合にリンクを付けるビューアーは、次の3つです。
[ビューアー]シート、別ウィンドウ/タブに表示するレコードビューアー、ビューアーの印刷画面 - 別ウィンドウで開く
- ルックアップキーに設定したフィールドが[メール]の場合
オン()にしてリンクをクリックした場合、[参照先を開く]と[リンクを開く]を選択するメニューが表示されます。
[参照先を開く]を選択すると、設定した表示方法で参照先を表示します。
[リンクを開く]を選択すると、[メール]の値をクリックした場合と同じようになります。
- ルックアップテーブル絞込条件
- なし/あり/[設定]
- [ルックアップレコードの選択]ダイアログボックスに表示するレコードの条件を設定するかしないかを選択し、条件を設定します。
- なし
表示するレコードの条件を設定しません。参照先データベースのすべてのレコードを表示対象とします。
- あり
表示するレコードの条件を設定します。複数の条件を組み合わせて設定することもできます。
条件を設定していない状態で選択すると、[絞込条件の指定]ダイアログボックスが表示されます。
※[データベース]または[レイアウト]を変更すると、設定した詳細検索の条件は破棄されます。
- 詳細検索の条件を設定する
次の2つの方法を利用できます。- 参照先データベースのフィールドの値を指定する
- 参照先データベース上のフィールドの値でレコードを絞り込みます。
詳細条件の設定方法は、[絞込検索]ダイアログボックスで絞り込み条件を設定する場合と同様です。
※参照先データベースのフィールドのうち、画像・ファイル・データベースリンクは、条件に設定することはできません。
- 参照元データベースのフィールドの値と、参照先データベースのフィールドの値を比較する
- 参照元データベースのフィールドを指定し、設定したフィールドの参照元データベース上にあるレコードの値を使って参照先データベースのレコードを絞り込みます。
この場合、フィールドの値によって絞り込み結果が変わるため、参照元データベースのレコードごとに、[ルックアップレコードの選択]ダイアログボックスの表示内容が変わります。
条件を設定する中央の欄で、参照元データベースのフィールドを、▼をクリックして表示される一覧から選択します。このとき一覧には、参照先データベースのフィールドと比較することができるフィールドだけが表示されます。
条件を設定する右側の欄には、設定できるものだけが一覧に表示されます。
- 詳細検索の条件に参照元データベースのフィールドを指定した場合
- 日付時刻型で、表示形式が秒を表示しない形式のフィールドは、秒を00秒と見なして検索されます。
※秒を表示しない形式:XXXX年XX月XX日 AM10:00 など
- 参照元データベースのフィールドが未入力の場合、そのフィールドが指定された条件は無視され、ほかの条件だけで絞り込みます。
- 日付時刻型で、表示形式が秒を表示しない形式のフィールドは、秒を00秒と見なして検索されます。
- 詳細検索の条件に参照元データベースのフィールドを指定した場合
- なし
- その他
- 入力のヒント
- 入力の手がかりにする説明を、全角・半角を問わず500文字以内で設定することができます。
レコードのデータを編集するときに、フィールドにポインターを合わせると、設定した説明が表示されます。 - ソート対象にする
- [データベース閲覧]画面でソートするときに、並べ替えの対象にするかしないかを選択します。オン(
)にすると、ソートの対象になります。
- 検索対象にする
- [データベース閲覧]画面で検索するときに、絞込検索の対象にするかしないかを選択します。オン(
)にすると、検索の対象になります。
- 入力値の詳細
ルックアップキー・ルックアップの値の入力方法
ルックアップキーを設定したレコードの値は、参照先データベースのレコード一覧から選択して入力します。値がわかっている場合は、直接入力することもできます。
ルックアップを設定したレコードの値は、ルックアップキーの値に連動して自動的に入力されます。
参照先データベースのレコード一覧からルックアップキーの値を選択する
どのような値があるかわからない場合などは、参照先データベースのレコード一覧からルックアップキーの値を選択します。
- [新しいレコード]ダイアログボックスや[レコードの編集]ダイアログボックスで、ルックアップキーの右端にある
をクリックします。
[ルックアップレコードの選択]ダイアログボックスが表示されます。 - 一覧から、レコードをクリックして選択します。
※ルックアップキーフィールドにレイアウトが指定されている場合は、指定されたレイアウトの一覧に表示されるフィールドだけが表示されます。指定されていない場合は、参照先データベースの既定のレイアウトで表示されるフィールドだけが表示されます。
ルックアップキーに絞込条件が指定されている場合は、条件で絞り込まれた一覧が表示されます。
※ルックアップキーにすでに値が入力されている場合は、指定されたキーのレコードだけが表示されます。このような場合は、
をクリックすると解除されて一覧が表示されます。
- [OK]をクリックします。
[新しいレコード]ダイアログボックスや[レコードの編集]ダイアログボックスに戻り、ルックアップキーに選択したレコードの値が入力されます。
また、ルックアップを設定していた場合は、ルックアップキーの値に連動したルックアップの値が入力されます。 - [保存]をクリックします。
ルックアップキーの値を直接入力する
ルックアップキーの値として設定する内容がわかっている場合は、直接ルックアップキーに値を入力します。
- [新しいレコード]ダイアログボックスや[レコードの編集]ダイアログボックスで、ルックアップキーの入力欄に値を直接入力してTabキーを押します。
- ルックアップキーの[レコードの更新方法]を[自動更新]に設定している場合
ルックアップを設定している場合は、ルックアップキーの値に連動したルックアップの値が入力されます。 - ルックアップキーの[レコードの更新方法]を[手動更新]に設定している場合
ルックアップキーが重複を禁止しているフィールドを参照している場合は、が表示されます。
をクリックすると、ルックアップキーの値に連動したルックアップの値が入力されます。
※入力した値に対応するレコードが参照先のデータベースにない場合は、赤字で[!REF!]と表示されます。
- ルックアップキーの[レコードの更新方法]を[自動更新]に設定している場合
- [保存]をクリックします。
ルックアップキー・ルックアップを使用するときの注意
- ルックアップキーの参照先フィールドやルックアップのルックアップ先フィールドとして設定されたフィールドは、削除・フィールド種類の変換の操作ができなくなります。
また、ルックアップキーやルックアップがあるデータベースにレコードが1件以上ある場合、参照先フィールドは、設定の変更*1 も操作できなくなります。
これらの操作を行いたい場合は、必要に応じて、その操作対象のフィールドを参照しているルックアップキーやルックアップがあるデータベースのレコードをすべて削除するか、削除対象のフィールドを参照しているルックアップキーやルックアップ自体を削除してください。*1 [フィールド名]、[ルックアップテーブル絞込条件]、[入力のヒント]、[ソート対象にする]、[検索対象にする]、文字列フィールドの[次の文字だけ入力を許可する/許可しない]、ドロップダウン/選択リストの[選択肢]は変更できます。それ以外の設定は変更できません。 - 参照先のデータベースが削除された場合、ルックアップキーとルックアップの値はそのまま保持されます。ただし、値の更新はできません。
- 指定したレイアウト、または検索条件に含まれるフィールドが削除された場合、値は更新できません。この場合、レイアウトや検索条件を変更する必要があります。
- 参照先のデータベースはあるが、参照先のレコードがなくなった場合、ルックアップキーの[レコードの更新方法]が[自動更新]のときは、参照エラーとなります。[レコードの更新方法]が[手動更新]のときは、ユーザーが更新しない限り、値は変わりません。
- すでにレコードが登録されたデータベースに自動更新のルックアップフィールドを追加する場合、登録済みのレコード数が多いと処理を完了するまでに時間がかかることがあります。時間の目安は数分から数十分程度です。
フィールド追加を完了するまでの間、以下の操作は待ち状態となります。
- フィールドを追加したデータベースのレコード閲覧・更新
データインポート/エクスポートも含みます。
- フィールドを追加したデータベースから自動更新でルックアップ参照されているデータベースのレコード更新
- すべてのデータベースのフィールド更新操作
- フィールドを追加したデータベースのレコード閲覧・更新