マルチクロスレポート使用時のサンプルを以下に示します。
サンプルの内容は、以下を含みます。
マルチクロスレポートの問い合わせファイルの読み込み
表側におかれた管理ポイントの削除
時間フィールドにおかれた時間型管理ポイントの期間の種類を変更
問い合わせの実行
集計結果を結合してExcel 形式で保存
【例】
=================================================================================== 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; } ===================================================================================