MENU

階層とリンク

階層・ダイレクトリンク・キーリンクについて

Fullfree では単純な表以外に階層構造を扱ったり、複数の表のデータを関連づけたり出来ます。そのため、幅広いデータ構造を扱うことが可能です。階層やリンクでつながっているすべての項目が計算式で参照出来ます。

階層とリンクは実質的によく似ています。関連が強い場合は階層、関連が弱い場合はリンクをお勧めします。例えば、顧客データに対して家族のデータは階層、予約のデータはリンク(予約テーブルを別途作成)といった感じです。

テーブルを分けてリンクにすると、その情報だけで一覧表示と検索が可能になります。例えば、12月の予約を一覧表示するといったことが出来ます。各機能の違いは下記の通りです。

階層 ダイレクトリンク ダイレクトリンク
(自動入力)
キーリンク
表形式での
同時表示
× × ×
カード形式
での同時表示
単独一覧表示と
その検索
×
編集 編集可 編集可 自動で初期値入力、編集可 常に自動更新、編集不可
制限 1レコードあたり100行まで なし なし なし
デモデータ
での例
注文テーブルの明細 案件テーブルの顧客フィールド 問い合わせテーブルの顧客フィールド(電話番号からの自動入力) 着信テーブルの顧客フィールド(電話番号から自動更新)

尚、リンクの活用方法は「リンクの基本と応用」をご覧下さい。

階層

階層のデータは表形式のまま同時に表示が出来ますが、1レコードあたり100行までの制限があります。複数の階層を定義した場合、全階層での子行の合計が100行までです。また、リンクとは違い階層のデータだけを表にして一覧表示することは出来ません。

階層の表示(表形式)

階層の表示(カード形式)

階層の設定方法

テーブル定義にて一番左の追加ボタンをクリックして下さい。新たな階層が追加されるので階層の名前を入力して下さい。そして、その階層にフィールドを追加していって下さい。

階層の設定

二つのテーブルを関連づけることによって、異なる種類のレコード間で階層と同じような親子関係を持つことが出来ます。カード形式で表示すると、親(一つのレコード)を参照する子(複数のレコード)の一覧が表示されます。

ダイレクトリンクの見え方

ダイレクトリンクでのデータ追加

カード形式からレコードを追加するには、関連レコード一覧の左下にある追加ボタンをクリックして下さい。参照先のレコードは自動で入力されます。

カード形式での追加

表形式からレコードを追加するには、表の左下の追加ボタンをクリックして参照先を手動で選択して下さい。尚、追加ボタンを使わずに最後の空白行に直接データを入力しても追加できます。

表形式での追加

ダイレクトリンクの設定方法

親子関係の子にあたるテーブル(例では顧客を参照する案件テーブル)のテーブル定義にて、データ型をダイレクトリンクにしたら、詳細ボタンをクリックしてリンクの設定を開いて下さい。

テーブル定義

リンク対象のテーブルに親子関係の親にあたるテーブル(例では案件から参照する顧客テーブル)を指定してください。

ダイレクトリンク設定

ダイレクトリンク(自動入力)

ダイレクトリンクの自動入力を設定すると、ダイレクトリンクの参照先(レコード間の親子関係における親)を別のセル値から自動的に入力することが出来ます。入力は初期値であり、後から変更することも可能です。

カード形式での見え方はダイレクトリンクの説明をご覧下さい。

ダイレクトリンク(自動入力)でのデータ追加

カード形式でのレコード追加方法はダイレクトリンクの説明をご覧下さい。

表形式からレコードを追加するには、表の左下の追加ボタンをクリックするか最後の空白行に何か入力して下さい。それから自動入力の検索値セル(例では電話番号)に値を入力し、他のセルにカーソルを移動するとリンク先の値(例では顧客)の初期値が自動的に入力されます。

表形式での追加

ダイレクトリンク(自動入力)の設定方法

親子関係の子にあたるテーブル(例では顧客を参照する問い合わせテーブル)のテーブル定義にて、上記ダイレクトリンクの設定と同様にリンクの設定を開き、「検索して値の自動入力を行う」をオンにして各項目を設定して下さい。

ダイレクトリンク設定

ダイレクトリンク(自動入力)はあくまで初期値の自動入力ですが、キーリンクでは検索が常に行われ、検索値(例では電話番号)が変わると自動的にリンク値(例では顧客)も更新されます。そのため、リンク値は直接手入力することは出来ません。検索値を変更することでリンク値が更新されます。

キーリンク

キーリンクでのデータ追加

カード形式からレコードを追加するには、関連レコード一覧の左下にある追加ボタンをクリックして下さい。リンク先が開いているレコードになるように、検索値が自動で入力されます。

カード形式での追加

表形式からレコードを追加するには、表の左下の追加ボタンをクリックするか最後の空白行に何か入力して下さい。それからキーリンクの検索値セル(例では電話番号)に値を入力し、他のセルにカーソルを移動するとリンク値(例では顧客)が更新されます。

表形式での追加

キーリンクの設定方法

親子関係の子にあたるテーブル(例では顧客を参照する着信履歴テーブル)のテーブル定義にて、データ型をキーリンクに指定し、上記ダイレクトリンクの設定と同様にリンクの設定を開いて下さい。各項目の設定は下記の図を参照してください。

キーリンク設定

参考:RDBとの対応

RDB(リレーショナルデータベース)におけるリレーションシップは、キーリンクが相当します。上記の設定例において、RDBでは顧客テーブルの電話番号フィールドが主キー、着信履歴テーブルの電話番号フィールドが外部キーとなります。

RDBでは参照される側である主キーは、重複なしのインデックスを設定したりして一意である必要があります。Fullfree では主キー・外部キー共に一意でなくても構いません。つまり、1対多だけでなく多対多の関係も認めているわけですが、Fullfree は1つのセルで複数値が扱えるためこれが可能になっています。

上記の例で顧客テーブルに同一電話番号が複数レコードに存在する場合、着信履歴の顧客セルには複数の顧客名が表示されます。

Fullfree の便利機能

Fullfree にはRDBにはないダイレクトリンクがあります。主キーや外部キーが不要で、あるレコードから別のテーブルのレコードを直接紐づけできます。紐づけるレコードは検索機能が付いたドロップダウンリストから選べます。

PAGETOP