|
// *********************************************************
// 出力実行
// *********************************************************
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;
}
| |