IEを利用した印刷処理


  コントロールブレイクサンプル



  
// *********************************************************
// 出力実行
// *********************************************************
BOOL App_01::DataOut( void )
{
	BOOL bRet;
	BOOL bFirst;
	LboxString FilePath;

	if ( !CurDb->Connect() ) {
		Dlg->MsgOk("データベースの接続に失敗しました    ");
		return false;
	}	

	// ドキュメント名(HTML) を指定して印字開始
	IEPrt->StartDoc( "商品別商品一覧" );

	Query->operator = (
		"select 商品マスタ.*,商品分類マスタ.名称 as 商品分類名"
		" from 商品マスタ,商品分類マスタ"
		" where 商品マスタ.商品分類 = 商品分類マスタ.商品分類"
		" order by 商品マスタ.商品分類,商品マスタ.商品コード"
	);
	bRet = CurDb->Query( Query );

	CurDb->GetText( "商品分類", BreakKey );

	bFirst = true;
	while( bRet ) {
		if ( bFirst ) {
			bFirst = false;
			HeadPrint();
			GroupHeadPrint();
		}

		CurDb->GetText( "商品分類", Item );
		if ( BreakKey->operator != (Item) ) {
			if ( nRow > nRowMax ) {
				IEPrt->NextPage();	// 改ページ
				HeadPrint();
				GroupHeadPrint2();
				GroupFooterPrint();
			}
			else {
				GroupFooterPrint();
				int nPrintableRows;
				nPrintableRows = nRowMax - ( nRow - 1 );
				if ( nPrintableRows <= 1 ) {
					IEPrt->NextPage();	// 改ページ
					HeadPrint();
					GroupHeadPrint();
				}
				else {
					GroupHeadPrint();
				}
			}
		}

		if ( nRow > nRowMax ) {
			IEPrt->NextPage();	// 改ページ
			HeadPrint();
			GroupHeadPrint();
		}

		DetailPrint();

		CurDb->GetText( "商品分類", BreakKey );
		CurDb->GetText( "商品分類名", SaveName );
		bRet = CurDb->Query( );
	}

	if ( nRow > nRowMax ) {
		IEPrt->NextPage();	// 改ページ
		HeadPrint();
		GroupHeadPrint2();
		GroupFooterPrint();
	}
	else {
		GroupFooterPrint();
	}

	// 印字終了
	IEPrt->EndDoc();

	CurDb->DisConnect();

	// ドキュメント名(HTML) を指定して印刷プレビュー
	IEPrt->ReportPreview( "商品別商品一覧" );

	return true;
}
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ