マルチクロスレポート使用時のサンプルを以下に示します。
サンプルの内容は以下を含みます。
マルチクロスレポートの問い合わせファイルの読み込み
表側におかれた管理ポイントの削除
時間フィールドにおかれた時間型管理ポイントの期間の種類を変更
問い合わせの実行
集計結果を結合してExcel 形式で保存
【例】
=========================================
Sub MyFunc( )
Dim rc As Integer
Dim hCatalog As Integer
Dim page As Integer
Dim hCPoint As Integer
Dim number As Integer
Call NaviOpenSession ( rc, "userid", "password", "server")
Call NaviConnectOracle (rc, "oracle_userid", "oracle_password" )
Call NaviConnectResourceNoAuth(rc)
hCatalog = NaviOpenCatalog ( rc, "filepath")
page = 2
Call NaviSetActiveDocPage (hCatalog, rc, page )
' マルチクロスレポート中のアクティブにするページを指定
' hCatalog : 問い合わせファイルのハンドル
' rc : 返却コード
' page : アクティブにするページ番号
hCPoint = NaviGetControlPoint (hCatalog, rc, "label", NAVI_SIDE, 0)
' 管理ポイントのハンドルを取得
' hCatalog : 問い合わせファイルのハンドル
' rc : 返却コード
' "label" : 管理ポイントの項目名
' NAVI_SIDE : 表側として指定されている管理ポイント
' 0 : 同じ管理ポイントがある場合は、最初に見つかった管理ポイント
Call NaviRemoveControlPoint (hCatalog, hCPoint, rc)
' 管理ポイントの削除(表側の場合、すべてのページの管理ポイントが削除されます)
' hCatalog : 問い合わせファイルのハンドル
' hCPoint : 管理ポイントへのハンドル
' rc : 返却コード
Call NaviChangePeriodKind (hCatalog, rc, NAVI_PERIOD_STARTEND)
' 時間型管理ポイントの期間の種類を「開始期から終了期まで」に変更
' (アクティブに指定したページの管理ポイントのみ変更されます)
' hCatalog : 問い合わせファイルのハンドル
' rc : 返却コード
Call NaviExecuteCatalog ( hCatalog, rc, number, NAVI_DOWNLOADNOW, 0 )
' すべてのページの問い合わせが実行されます
Call NaviSaveData (hCatalog, rc, "xlsx_filepath", NAVI_XLSX+NAVI_MULTI_UNITED, NAVI_NOCHANGE)
' すべてのページの集計結果を結合してExcel 形式でファイル出力
Call NaviCloseCatalog (hCatalog) '問い合わせファイルをクローズします
Call NaviCloseSession 'ログオフ
End Sub
=========================================