Forguncyマニュアル
コピーテーブルの作成
Forguncyの使い方 > 外部データベース > コピーテーブルの作成

外部データベース上のテーブルやビューのコピーテーブルをForguncyの内部データベース上に作成します。このようにすることで、本来は直接的に結合できない異なるデータベース上のテーブルやビューをForguncyのビューの機能を用いて結合、集計することが可能です。なお、作成されるコピーテーブルは読み取り専用であり、更新や新規レコードの追加を行うことはできません。

本ページでは、外部データベース(SQL Server)上にある「受注実績」のビューとForguncyの内部データベース上にある「受注予算」のテーブルを用いて、次の図のような予実データを表示する場合を例として説明します。

使い方

  1. 次の図のようなテーブルを内部データベースのテーブルとして作成します。

  2. 次の図のようなビュー、またはテーブルを外部データベースのテーブルとして用意します。

    今回はSQL Server上に「受注実績」という名称のビューで作成しています。

  3. [作成]リボンタブ - [テーブル]ドロップダウンボタンをクリックし、[外部データベースからコピーテーブルを作成]を選択します。

    [ナビゲーションウィンドウ]の[テーブル]ヘッダーを右クリックし、コンテキストメニューからも同様の操作を行えます。

  4. データソースに「Microsoft SQL Server」を選択して[続行]をクリックします。

    参考: 最初に「接続設定」ダイアログが表示された場合は「データソース」の[変更]をクリックしてデータソースを選択します。

  5. 「接続設定」ダイアログを設定して[OK]ボタンをクリックします。

    SQL Serverへの接続については、SQL Serverへの接続を参照してください。

  6. 「受注実績」ビューを選択されたテーブルへ移動し、[OK]ボタンをクリックします。

    [OK]ボタンクリック後、[固有レコード識別子の選択]ダイアログボックスが表示されるため、各行に対して一意となるフィールドをチェックし、[OK]ボタンをクリックします。

  7. 次の図のように「受注実績」という名称のコピーテーブルが作成されます。

    「外部データベースからのコピーテーブル」の右ペイン「テーブル設定」では、次の設定が可能です。

    プロパティ名

    説明

    名前

    テーブルの名前を変更できます。

    レコードレベルのアクセス制御

    テーブルのレコードについて、ロールや特定のユーザーについて閲覧権限を設定できます。外部データベースからのコピーテーブルは読み取り専用であるため、許可する操作は「表示」のみです。詳細は、レコードレベルのアクセス制御を参照してください。

    フィールドレベルのアクセス制御

    テーブルのフィールドごとに、ロールや特定のユーザーに対して閲覧権限を設定できます。外部データベースからのコピーテーブルは読み取り専用であるため、許可する操作は「読み取り」のみです。詳細は、フィールドレベルのアクセス制御を参照してください。

    データの同期開始時刻

    外部データベースのテーブルのデータがコピーテーブルへと自動的に同期される開始時刻を設定します。既定は「00:00」です。なおこの自動同期処理はアプリケーション実行時にのみ行われます。Forguncy Builder上で外部データベースの最新のデータにコピーテーブルを更新するには、手動同期を行う必要があります。

    データの同期間隔(単位:時間)

    外部データベースのテーブルのデータがコピーテーブルへと自動的に同期される実行間隔を設定します。たとえば、同期開始時刻を「00:00」、同期間隔が「20」で設定すると、00:00時から20時間間隔で同期が実行されます。単位は時間で小数点以下の値を設定することで分単位の設定も可能ですが、1分未満の値はサポートされていません。

    注意:サーバーやアプリケーションの再起動または、アプリケーションを再発行すると前回の同期からの同期間隔はリセットされ「データの同期開始時刻」で設定した時刻から開始されます。

    クエリ―条件 条件を設定してコピー対象のデータを限定できます。[クエリー]、[先頭レコード]、および[並べ替え]が設定可能です。

    監査ログ

    読み取り処理が行われた際に監査ログを記録するかどうかを設定します。詳細はテーブルの監査ログ設定を参照してください。

  8. [作成]リボンタブ - [ビュー]をクリックして、新しいビューを作成します。

    今回は、内部データベース上のテーブルである「受注予算」とコピーテーブルである「受注実績」を結合したビューを作成します。

  9. [ビューの作成]ダイアログで[ビュー名]を「受注予実」に設定し、[SQL文]を次の図のように設定します。

    今回は、それぞれのテーブルから受注予算と受注実績、またその差額と比率を列として作成しています。

  10. 次の図のようなビューが作成されます。

  11. ページに次の図のような「受注予実」ビューをデータソースとしたリストビューを作成します。

    必要に応じて適宜書式設定や条件付き書式などを設定します。

  12. [ホーム]リボンタブにあるデバッグの[開始]ボタンをクリックし、アプリケーションの動作を確認します。

JavaScript APIによるコピーテーブルの同期

自動同期の設定に関わらず、forceSyncTableDataメソッドを使用することで指定したコピーテーブルの同期行うことが可能です。詳細はJavaScript APIのリファレンスを参照してください。

コピーテーブルの手動同期(アプリケーション開発時)

自動同期処理はアプリケーション実行時にしか行われないため、Forguncy Builder上で外部データベースの最新のデータにコピーテーブルを更新するには、手動同期を行う必要があります。

  1. [ナビゲーション ウィンドウ]上から対象のコピーテーブルを右クリックし、コンテキストメニューから[最新の情報に更新]を選択します。

クエリー条件の設定

コピー元のテーブルのデータが多い場合、クエリー条件を設定して必要なデータのみをコピーすることができます。すべてのレコードが必要ない場合や、パフォーマンス上の問題がある場合に本機能を使用することを検討してください。

コピーテーブルを開き、右ペインの[テーブル設定]にある[クエリー条件...]ハイパーリンクをクリックします。

クエリー

[クエリー]タブで、クエリー条件を指定します。

注意:

  • [値]コンボボックスでは以下の選択候補が表示されますが、これらを指定しても正常に動作しません。

    • %CurrentUser%

    • %CurrentUser.UserName%

    • %CurrentUser.FullName%

    • %CurrentUser.Email%

    • %CurrentUser.Role%

    • %CurrentUser.OrganizationSuperior%

  • [値]はセル参照の操作が許可されていますが、セル参照を指定しても正常に動作しません。

  • [フィールド]では関連付け先のテーブルのフィールドを選択する操作が許可されていますが、それらを指定しても正常に動作しません。

先頭レコード

[先頭レコード]タブで、取得する先頭レコード数を指定します。

並べ替え

[並べ替え]タブで、表示されているテーブルの並べ替えを指定します。

クエリー条件を設定後、[OK]ボタンをクリックしてダイアログを閉じると、クエリー条件に基づいたデータでコピーテーブルが更新されます。

動作の詳細と注意点