ページの先頭行へ戻る
Interstage Navigator ServerV9.5.0 Navigator APIプログラマーズガイド(Visual C++編)
FUJITSU Software

4.2.9 マルチクロスレポート使用時のサンプル

マルチクロスレポート使用時のサンプルを以下に示します。

サンプルの内容は、以下を含みます。

【例】

===================================================================================
CSymNaviSession _Server;
BOOL MyFunc()
{
      _Server.Open( "userid" , "password" , "server" ) ;
      _Server.ConnectOracle( "oracle_userid" , "oracle_password" ) ;
      _Server.ConnectResourceNoAuth();
      CSymNaviDoc * pDoc = new CSymNaviDoc ;
      pDoc->SetSession( & _Server ) ;
      pDoc->LoadDocument( "filepath" ) ;
      int page=2;
      pDoc->SetActiveDocPage(page) ; //マルチクロスレポート中のアクティブにするページを指定
      CControlPoint * pCPoint = pDoc->GetControlPoint( //ポインタの取得
            "label" , //管理ポイントのラベル
            NAVI_SIDE , //表側として指定されている管理ポイントオブジェクト
            0 ) ; //同じ管理ポイントがある場合は最初に見つかった管理ポイント
      pDoc->RemoveControlPoint(pCPoint) ; //管理ポイントの削除
      //表側の場合、すべてのページの管理ポイントが削除されます
      pDoc->ChangePeriodKind( NAVI_PERIOD_STARTEND ) ;
      //時間型管理ポイントの期間の種類を「開始期から終了期まで」に変更
      //(アクティブに指定したページの管理ポイントのみ変更されます)
      pDoc->Execute(); //すべてのページの問い合わせが実行されます
      pDoc->SaveData( "xlsx_filepath" , NAVI_XLSX , NAVI_NOCHANGE , NAVI_MULTI_NOUNITED) ;
      //すべてのページの集計結果を結合してExcel 形式でファイル出力
delete pDoc;
_Server.Close();
return true;
}
===================================================================================