Forguncy 10 オンラインヘルプ
アプリの開発 / 外部連携と入出力 / レポート / レポートの基本 / レポートに必要なデータ
このトピックで
    レポートに必要なデータ
    このトピックで

    レポートの作成前に、データを用意する必要があります。

    データは、テーブルかビューのどちらかを使用できます。たとえば、次の図のように必要なデータが「受注」、「受注明細」、「商品」といった3つのテーブルに存在している場合、それらを1つに結合するビューを作成することで対応します。

    たとえば次のようなレポートを出力する場合を例に必要となるデータを説明します。

    上のレポートでは、見積IDの「1」や会社の「会社A」というデータが出力されるのは1回だけです。しかし、実際に必要なデータは次のようになり、明細部分のレコードそれぞれに同じ「1」と「会社A」というデータが存在していることを確認することができます。

    このように、レポートでは基本的に1つのテーブルかビューをデータソースとして使用します。

    なお、上記の会社Aのデータを別のデータソースとして定義し、Lookup関数を使用して出力する方法もあります。この場合には複数のデータソースを使用する場合もあります。詳細についてはその他を参照してください。

    また、レポートパラメータのドロップダウンリストにデータベースの値を使用する場合も、複数のデータソースを使用する場合があります。詳細についてはレポートパラメータの[使用できる値]プロパティを参照してください。

    ビューを使う際の注意点

    Forguncyの内部データベースのビューを使用した場合、Forguncyは各フィールドのデータ型を認識することができません。そのため、日付/時刻型フィールド、および時刻型フィールドの値は数値として出力されます。これは内部データベースにおける日付/時刻型フィールド、および時刻型フィールドの値は、Excelと同様のシリアル値(OLEオートメーション日付)として格納されているためです。

    そのため、日付、および時刻として表示するにはDateAdd関数を使用して変換を行う必要があります。DateAdd関数の詳細については、日付と時刻を参照してください。

    日付/時刻型フィールドの場合:{DateAdd("s", (日付_時刻 - Floor(日付_時刻)) * 24 * 60 * 60, DateAdd("d", Floor(日付_時刻), "1899-12-30"))}

    時刻型フィールドの場合:{DateAdd("s", 時刻 * 24 * 60 * 60, "00:00:00")}

    なお、「作成日時」や「最終更新日時」といったビルトインの日付/時刻型フィールドは、数値ではなく日付として出力されます。これはビューであってもForguncyがそれらのフィールドは日付/時刻型であると認識できるためです。