過去ログ
キーワード 条件 表示

印刷物の名称を指定したい  沖縄 - 2008/04/21(Mon) 17:41 No.3702

VB6.0(SP6)
Crystal Report8.5
で開発をしています。

基本的な事なんだと思いますが、印刷物の名称を指定する事って出来るのでしょうか?
やり方が分からず困っています。

有識者のみなさま、助言お願いします

上下中央寄せ又はmargin,padding設定  ガッツいちもつ - 2008/04/21(Mon) 10:23 No.3698

VB2005 + CrystalReportⅺで帳票作成しています。
印字位置の調整をしたいのですが
グリッドオプションで余白の表示のチェックを
つけると余白が大きすぎて文字の印字領域が狭く全て印字され
ません。また余白の表示をにチェックのチェックをはずすと
今度は上寄せになってしまい見栄えが大変悪いです。
まさに帯に短したすきに流し状態です。
なにか方法はないでしょうか。
修正  ガッツいちもつ - 2008/04/21(Mon) 10:57 No.3700

開発環境はCrystalReport for VisualStudio2005でした。

C# 2005 からの印字  Jko - 2008/04/16(Wed) 22:13 No.3689

VS C# Express
Crystal Report 10(VSバンドルではない)
で開発を行っています。

C#で「CRAXDDRT.dll」を参照設定して
CRAXDDRT.Report で印字を行っています。

データの受け渡しは、XMLのファイル渡しで
クリレポ側では、ADO.Netを使用して
データを取り込み印字してます。

既存アプリがVB6を使用してクリレポで印字していたため
開発環境をC#2005に変えても
同様に「CRAXDDRT.dll」で印字しているのですが
そもそもこれは正しいのでしょうか?

配布用にセットアップモジュールを作成するさい
@クリレポ10.Net用マージモジュール(cr10_net_merge_modules_jp)
を使用してセットアップしたのですが
これには、「CRAXDDRT.dll」が含まれていないため
Aクリレポ10RDC用のマージモジュール(cr10_rdc_merge_modules_jp)まで
いれなくてはいけなくなりました。

普通なら@のみでいいのかと思い
今の参照DLLに疑問を抱いたしだいです。

有識者のみなさま、助言お願いします
Re: C# 2005 からの印字  24x7 - 2008/04/16(Wed) 22:16 No.3690

RDC (CRAXDDRT.DLL や CRAXDRT.DLL) は、VB6/VC++しかサポートしていませんよ。.net コンポーネントを利用しないと駄目じゃなでしょうか。

Re: C# 2005 からの印字  Jko - 2008/04/16(Wed) 22:22 No.3691

24x7 様返信ありがとうございます。

具体的にどのDLL参照して行うものなのでしょうか?
いざ参照設定するさい、どれを選べばいいのかわかりませんでした

お手数ですが、よろしくお願いします
Re: C# 2005 からの印字  24x7 - 2008/04/17(Thu) 13:55 No.3692

Crystal Reports 10 は、VS 2005 で開発できないのでは・・ VS 2003 まででしょいう。

Re: C# 2005 からの印字  24x7 - 2008/04/17(Thu) 14:00 No.3693

Crystal Reports XI Release 1 でも VS 2002 と 2003 が開発プラットフォームで、Framework 1.0 と 1.1 がサポート対象です。
Crystal Reports XI Release 2 から VS 2005 が開発プラットフォームとしてサポート対象ですよ。
Re: C# 2005 からの印字  24x7 - 2008/04/17(Thu) 14:02 No.3694

CrystalDecisions.CrystalReports.Engine と CrystalDecisions.Shared が参照する dll です。
Re: C# 2005 からの印字  Jko - 2008/04/17(Thu) 15:44 No.3695

提示していただいたDLLを参照設定して
作成しました。

これでいけるかと思ったのですが、
データの設定がうまくいってないようで、
印字してもデータが何も表示されません。

RDCで実装した時は、これでうまくいってたのですが。。。

間違いありましたら、ご指摘お願いします。

下記にソースを記載します。

                ReportDocument rep = new ReportDocument();
                rep.Load("rpt ファイルのパス");


                foreach (Table tbl in rep.Database.Tables) {
                        tbl.Location = "データXMLファイルのパス";
                }
                foreach (ReportDocument sRep in rep.Subreports) {
                    foreach (Table tbl in sRep.Database.Tables) {
                        tbl.Location = "データXMLファイルのパス";                    
                    }
                }



                rep.Refresh();
                rep.PrintToPrinter(1, false, 0, 0);

Re: C# 2005 からの印字  Jko - 2008/04/21(Mon) 10:43 No.3699

自己レスです。

tbl.Location = "データXMLファイルのパス";
の部分を
tbl.SetDataSource(<System.Data.DataSetのインスタンス>);
に変更したら、印字できました。

しかし、印字結果が多少変化しました。

太字の太さが違う感じです。
RDCのころより細くなって印字されました。

そういうものなのでしょうか?


JPEGで出力  ぼう - 2008/04/18(Fri) 11:33 No.3697

VB6.0(SP6)
Crystal Report8.5
を使用しています。

Crystal Reportで作ったレイアウトを使って、JPEGファイルを出力する事は出来ないでしょうか?

どうぞ宜しくお願いします。

教えてください!  ミラン - 2008/04/11(Fri) 13:12 No.3675

クリスタルレポートの初心者です。
詳細の中にさらに詳細がある感じの帳票を作成しています。
グループを追加してやっていますが、うまくいかないです。。
ぜひご教授お願いします。

[作成帳票]

                       ※※タイトル※※
----------------------------------------------------
管理番号 伝票番号  販売日          販売者     区分   ・・・
----------------------------------------------------
0001        00000001  2008/01/01  ○○太郎1    △△△
            ---------------------------------------------
            商品番号  単価  数量  金額
            ---------------------------------------------
            111             500         1      500
            222             300         2      600
            ・
            ・
            ・
            ---------------------------------------------
                 小計       800         3     1,100 


----------------------------------------------------
管理番号 伝票番号  販売日          販売者     区分   ・・・
----------------------------------------------------
0001        00000002  2008/01/01  ○○太郎1    □□□
            ---------------------------------------------
            商品番号  単価  数量  金額
            ---------------------------------------------
            100             100         5        100
            200             500         2      1,000
            300             200         1        200
            ・
            ・
            ・
            ---------------------------------------------
                 小計       800         8     1,300 


----------------------------------------------------
管理番号 伝票番号  販売日          販売者     区分   ・・・
----------------------------------------------------
0002        00000001  2008/01/05  ○○太郎2    ☆☆☆
            ---------------------------------------------
            商品番号  単価  数量  金額
            ---------------------------------------------
            500             900         1        900
            ---------------------------------------------
                 小計       900         1        900 
Re: 教えてください!  ミラン - 2008/04/11(Fri) 13:17 No.3676

書き忘れましたが、最後に合計値も出します。
そして、管理番号/伝票番号がグループキーとなります。
よろしくお願い致します。
Re: 教えてください!  24x7 - 2008/04/11(Fri) 22:08 No.3677

レポートのイメージから管理番号と伝票番号をグループとして利用しても駄目ですか。

<グループ 1 (管理番号) ヘッダー>
なにも項目は入れない 

<グループ 2 (伝票番号) ヘッダー>
----------------------------------------------------
管理番号 伝票番号  販売日          販売者     区分   ・・・
----------------------------------------------------
0001        00000001  2008/01/01  ○○太郎1    △△△

            ---------------------------------------------
            商品番号  単価  数量  金額
            ---------------------------------------------
<詳細>
            111             500         1      500
            222             300         2      600
            ・
            ・
            ・
            ---------------------------------------------

<グループ 2 フッター>
                 小計       800         3     1,100 

<グループ 1 フッター>
必要に応じて同一管理番号の合計を入れるとか。。

Re: 教えてください!  24x7 - 2008/04/11(Fri) 22:11 No.3678

おっと、すでに管理者番号と伝票番号でグループ化していましたね。失礼しました。
どこがどのように期待した結果じゃないのか教えてください。
Re: 教えてください!  ミラン - 2008/04/14(Mon) 15:37 No.3680

なるほど!管理番号と伝票番号でグループ化したところまでは合ってましたが、ヘッダーと詳細の設定内容が間違ってました。
24x7様が教えてくれた方法で設定したら、詳細の部分は求めていた結果がでました。ありがとうございます。
でも、もう一つ問題がありまして、小計・合計値を出すところがうまくいかないです...
私がやってみた方法は
@非連結フィールドの金額フィールド(aaa)を追加し、式に
WhileReadingRecords;
{DataTable2.Kingaku}
を入力しました。
それから、積算合計フィールドを作成し
・集計するフィールドに「上のaaaフィールド」を
・集計のタイプに「合計値」を設定しようと思ったのですが、
集計のタイプに「合計値」がありません。
A式フィールドをもう一つ追加して、式に
sum({@上のaaaフィールド})
を入力したら、"ここには数値フィールドまたは金額フィールドが必要です。"というエラーメッセージが出ます。

データ設定はテストデータとして
    Private Sub ReportTypeSet2()
        'データセット新規作成(Form1→検索画面(※検索後帳票ボタンをクリック))
        Dim ReportDateSet As New Form1.DataSet1
        Dim row As DataRow

        '帳票に新しい行を追加
        row = ReportDateSet.DataTable2.NewRow()

    ・・・
        row("Kingaku") = 320000
    ・・・

        'データセットとデータを結びつける
        ReportDateSet.DataTable2.Rows.Add(row)


        '結びつけ確定
        ReportDateSet.DataTable2.AcceptChanges()


        '帳票のインスタンス化(RPHB0702→帳票名)
        Dim SampleCR As New Form1.RPHB0702


        '帳票とデータセットの結びつけ
        SampleCR.SetDataSource(ReportDateSet)

        'FMHB0702(帳票を表示するフォーム)のインスタンス化
        Dim NextForm As New Form1.FMHB0702

        'ビューアと帳票を結びつけ
        NextForm.PassCRView2.ReportSource = SampleCR
        NextForm.ShowDialog()


    End Sub
の感じで設定しています。

すみません。こんな説明で分かりますでしょうか?!
ちなみに、VB2005.NETを使っています。
複雑な説明になってしまい申し訳ございませんが、よろしくお願い致します。


Re: 教えてください!  24x7 - 2008/04/14(Mon) 21:58 No.3681

もう少し簡単に実現できませんか。

(1) 詳細セクションに挿入した{金額} フィールドを選択する
(2) それを右クリックの[挿入]-[集計]をクリックする
(3) [集計方法] に「合計」を選択する
(4) [集計の保存場所] は、グループ#2 を選択する
  グループ#2毎の小計が求まる
  グループ#1なら、グループ#1の合計が求まる
Re: 教えてください!  ミラン - 2008/04/15(Tue) 10:59 No.3685

ご教授ありがとうございます。
上の方法でやっても
詳細セクションに挿入した{金額} フィールドの式に
 WhileReadingRecords;   --デフォルト
 $0.0                           --デフォルト
 {DataTable2.Kingaku};    --データテーブルから表示したい項目設定を追加
を入力するとグループ#2(orグループ#1orレポートフッター)の「集計方法」から「合計」が消えてしまいます。
データセットが間違えているのかと思って上の方にコードも書いてみたのですが。。
分かりにくい説明になってしまい申し訳ありませんでした。。

Re: 教えてください!  24x7 - 2008/04/15(Tue) 11:56 No.3686

非連結フィールドは使いませんよ。
Re: 教えてください!  24x7 - 2008/04/15(Tue) 11:58 No.3687

コード記述も不要だと思いますが・・
詳細セクションに {DataTable2.Kingaku} が挿入されていますよね。
それを選択して、 

1) 詳細セクションに挿入した{金額} フィールドを選択する
(2) それを右クリックの[挿入]-[集計]をクリックする
(3) [集計方法] に「合計」を選択する
(4) [集計の保存場所] は、グループ#2 を選択する
  グループ#2毎の小計が求まる
  グループ#1なら、グループ#1の合計が求まる

を実行するだけですけど。
Re: 教えてください!  ミラン - 2008/04/15(Tue) 16:44 No.3688

分かりました!
{DataTable2.Kingaku}のDataTypeがStringになっていました..(-.-;)
本当にバカなミスで騒いですみませんでした。
ありがとうございます!!

チャート  ぎょたく - 2008/04/10(Thu) 13:27 No.3673

同じチャートに折れ線と棒を重ね合わせて出力するような事は可能でしょうか?
Re: チャート  24x7 - 2008/04/15(Tue) 00:10 No.3682

バージョンがわかりませんが、XI 製品では実現できました。

(1)チャート エキスパートで表示する値に2つフィールドを選択する
(2)チャートオプションの軸タブの [二重軸] をチェックする
(3) 表示された2種類のうち一つを選択し、[系列オプション] をクリックする
(4) [選択した系列の表示方法] から「デフォルトのチャートタイプ」以外を選択する
(5) デフォルトが「棒」なら、「線」を選択する

その結果、棒と線のグラフが表示されます。

Re: チャート  24x7 - 2008/04/15(Tue) 00:11 No.3683

表示したい要素が1つではできませんよ。
Re: チャート  24x7 - 2008/04/15(Tue) 00:13 No.3684

同じ要素を選択してもできました。失礼しました。

クリスタルレポートとビューアの設定について  - 2008/03/25(Tue) 16:13 No.3662

いつも参考にさせていただいています。
VisualStudio2005(VB2005)でCrystal Reportsを使って
アプリケーションを作成しています。


どうしてもわからずに、前に進めなくなっています。
どんなことでもかまいません、なにか思いつきますことが
ありましたら、ぜひご教授いただけたらと思います。


[概要]
月、曜日、時間でのグループ出力(サブレポートを使用)
↓こんな感じです。
-----------------------------------------
1月
 月曜1時
  ×××××
  ×××××
  ×××××
  ×××××
  ×××××
  ×××××
 月曜2時
  ×××××
  ×××××
  ×××××
----改ページ----
2月
 月曜1時
  ×××××
  ×××××
  ×××××
  ×××××
  ×××××
  ×××××
-----------------------------------------

※メインレポートで月のグループを制御、
 サブレポートで月曜、時間のグルーフを゜制御、
 曜日がかわると改ページを行う。


メインレポートとサブレポートにはプログラム内で
それぞれレコードセットを渡しています。


これをビューアーで表示させているのですが、
先頭のグループ(ここでいう1月、月曜)は正しく表示されるのですが、
メインレポートで設定している曜日が変わるとサブレポートの
内容がビューアーでは表示されません。
(月曜〜土曜日まで出力するとき、火曜〜木曜のサブレポートが空白となっている)


実行されているSQLをクリスタルレポートでデータベースの照合で貼り付けて
 プレビューすると、正常に出力できます。



ビューア表示時のソースは下記の通りです。


---------------------------------------------------------------------
Dim Creport As CRAXDDRT.Report
Dim m_Application As CRAXDDRT.Application
Dim Conn As ADODB.Connection = Nothing
Dim rs As ADODB.Recordset
Dim rs_sub As ADODB.Recordset = Nothing


Dim intRes As Short


            ''帳票出力用レコードセットを発行


            Call OpenADODB2(Conn)
            '' ADOレコードセットオブジェクト生成
            rs = New ADODB.Recordset   ’メインレポートのレコードセット
            With rs
                .ActiveConnection = Conn
                .Open(strSQL)  
                System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
                If .EOF And .BOF Then
                    intRes = MsgBox("出力対象レコードが存在しません。", MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
                    Call CloseADODB(Conn)
                    Exit Sub
                End If
            End With


            'サブレポート
            If strSQL_SUB <> "" Then
                rs_sub = New ADODB.Recordset     ’サブレポートのレコードセット
                With rs_sub
                    .ActiveConnection = Conn
                    .Open(strSQL_SUB)
                    If .EOF And .BOF Then
                        intRes = MsgBox("出力対象レコードが存在しません。", MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
                        Call CloseADODB(Conn)
                        Exit Sub
                    End If
                End With
            End If


            m_Application = New CRAXDDRT.Application ''インスタンスを発行
            Creport = m_Application.OpenReport(My.Application.Info.DirectoryPath & "\" & CReportName)


            'サブレポート
            Dim CreportSections As CRAXDDRT.Sections
            Dim CreportSection As CRAXDDRT.Section
            Dim CreportObjects As CRAXDDRT.ReportObjects
            Dim Csubreport As CRAXDDRT.Report
            Dim CsubreportObject As CRAXDDRT.SubreportObject
            Dim CreportObject As Object


            If strSQL_SUB <> "" Then
                CreportSections = Creport.Sections
                For Each CreportSection In CreportSections
                    CreportObjects = CreportSection.ReportObjects
                    For Each CreportObject In CreportObjects
                        'UPGRADE_WARNING: オブジェクト CreportObject.Kind の既定プロパティを解決できませんでした。 詳細については、'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"' をクリックしてください。
                        If CreportObject.Kind = CRPEAuto.CRObjectKind.crSubreportObject Then
                            CsubreportObject = CreportObject
                            Csubreport = CsubreportObject.OpenSubreport
                            With Csubreport
                                .EnableParameterPrompting = False
                                .Database.Tables(1).SetDataSource(rs_sub)
                            End With
                        End If
                    Next CreportObject
                Next CreportSection
            End If


            With Creport
                .EnableParameterPrompting = False ''パラメータプロンプトの出力を無効
                Call .PrinterSetup(0)
                With .Database
                    With .Tables(1)
                        .SetDataSource(rs)
                    End With
                End With
            End With


            ''クリスタルビューアーの設定
            With CRViewer1
                'ビューアーへ表示するオブジェクトをセット
                'UPGRADE_WARNING: オブジェクト CRViewer1.ReportSource の既定プロパティを解決できませんでした。 詳細については、'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"' をクリックしてください。
                .ReportSource = Creport
                'ビューアーを更新
                .ViewReport()
            End With

------------------------------------------------------------

どうぞ、よろしくお願いいたします。

Re: クリスタルレポートと...  24x7 - 2008/03/31(Mon) 01:19 No.3669

月、金、土曜は、サブレポートで正しく表示できているんですか。
サブレポートは、どこに挿入していんですか、また、1つのサブレポートだけですか。
コードを見ると複数サブレポートが存在しても動作するようになっていますが・・


セルの移動について  いわお - 2008/03/28(Fri) 19:08 No.3667

初心者です。
テキストオブジェクトなどを拡大したり、縮小するとき、
グリッドにあわせてカクカクしたりして微妙な調整ができなかったり、
移動もカクカクして微妙な移動ができなかったりします。
オブジェクトを並べて表のようにしたいのですが、どうすればいいでしょうか。
Re: セルの移動について  24x7 - 2008/03/31(Mon) 01:10 No.3668

使いづらいけど、クロス集計を利用してみたら・・


| 1| 2| 3| 4| 5| 6|