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