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

ソースコードが無効です。  クリレポ初心者 - 2008/08/06(Wed) 20:03 No.3937

VB2008(評価版)と付属の
Crystal Reports for Visual Basic
SQLSERVER2000


を使用しています。
お分かりになられる方がいらっしゃれば、ご教授願います。
サンプルコードを参考にして下記のようなソースを作っているのですが、
実行させると、”レポートソースが無効です。”とのメッセージが3回でて
ReportViewerには何も表示されません。
レポート自体にコマンドを記述していてそこからDBを見に行くようになっているのですが…。
何が原因なのでしょうか?


Dim Reprot1 As ReportDocument
Dim myConnectionInfo As ConnectionInfo


Reprot1 = New ReportDocument()
Dim reportPath As String = Application.StartupPath & "\" & "CrystalReport4.rpt"


myConnectionInfo = New ConnectionInfo
Reprot1.Load(reportPath)


myConnectionInfo.ServerName = "サーバー名"
myConnectionInfo.DatabaseName = "データベース名"
myConnectionInfo.UserID = "ユーザーID"
myConnectionInfo.Password = "パスワード"


myConnectionInfo.IntegratedSecurity = True
SetDBLogonForReport(myConnectionInfo, Reprot1)


CrystalReportViewer1.ReportSource = Reprot1



Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, ByVal myReportDocument As ReportDocument)


    Dim myTables As Tables = myReportDocument.Database.Tables


    For Each myTable As CrystalDecisions.CrystalReports.Engine.Table In myTables
        Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
        myTableLogonInfo.ConnectionInfo = myConnectionInfo
        myTable.ApplyLogOnInfo(myTableLogonInfo)
    Next


End Sub


クリスタルレポート8.5フィールド追加  180SX - 2008/08/04(Mon) 17:16 No.3930

クリスタルレポート8.5で新しくフィールドを追加したいのですがやり方が分からず困っています。

言語はVB6でDBはオラクル9iです。

またクリスタルレポートの使い方を勉強したいのですが良い本等もありましたら教えてください。

よろしくお願いします。
Re: クリスタルレポート8....  24x7 - 2008/08/05(Tue) 13:51 No.3932

レポートのデザイン時ですか、それともランタイム (VB コード) で追加ですか。

改頁の仕方を教えてください  初心者aki - 2008/07/31(Thu) 16:24 No.3926

はじめまして。
改頁の仕方が教えてほしくお願いします。
環境
 VB6、WindowsXP Pro、Crystal Reports 8.5、Oracle9i
他の人が作ったレポートを参考にしているのですが、
グループヘッダに
WhilePrintingRecords ;
NumberVar  total ;
total := 0 ;
詳細行に下記の式フィールド@ADD
WhilePrintingRecords ;
NumberVar  total ;
total := total + 1 ;
と下記の式フィールド@ADD1
WhilePrintingRecords ;
BooleanVar Peof ;
Peof :=  NextIsNull({HASSYOUCHECKDATA1_TMP.PCNAME} ) ;
があり
グループヘッダ出力前に改ページにチェックを入れてあります。
グループヘッダに式の追加はありません。
参考にしたほうは詳細が26行で改ページされるのですが、
私の方は改ページされません。
参考にしたレポートと比べ何か見落としがありそうなのですが、
ミスを犯していそうなところがあれば指摘してほしく、
よろしくお願いします。
Re: 改頁の仕方を教えてく...  24x7 - 2008/08/05(Tue) 13:50 No.3931

改ページさせるためには条件設定とその判定がないと駄目ですけど。
ADDの式フィールドは、手動でカウントアップしているだけで、ADD1は、次のデータがNULLの判断した結果を代入しているだけです。
どこで、改ページを発生させるのか判定していないのでは・・ないでしょうか。

ページ番号を2種表示したい  msx - 2008/06/18(Wed) 18:52 No.3822

はじめまして。
クリスタルレポート初心者です。

現在、ページ番号を2種表示したく思っております。

 7 ←通し番号 
P.1 ←グループごとの番号

グループごとの番号はセクションエキスパートで
「出力後にページ番号をリセット」を指定すればよいと分かったのですが
2種のページ番号に別々の機能を指定することは可能でしょうか?

ご存知でしたらご教授お願い致します。
Re: ページ番号を2種表示・..  24x7 - 2008/06/18(Wed) 22:06 No.3824

「出力後にページ番号をリセット」でページ関連の特殊フィールドはすべてリセットされるので、式フィールドを利用して、手動でカウントアップするしかないと思います。

通し番号なら、こんな感じです。
WhilePrintingRecords;
NumberVar pagecnt;
pagecnt:=pagecnt+1
この式フィールドをページヘッダーかフッターに挿入します。

また、レポートヘッダーには、上記の変数を初期化する式フィールドを挿入します。
WhilePrintingRecords;
NumberVar pagecnt:=0;

Re: ページ番号を2種表示・..  msx - 2008/08/01(Fri) 18:00 No.3928

レス遅れまして申し訳ありません。
教えていただいた方法を参考に無事実装することができました。
ありがとうございました。


VS2008Proでの接続設定  PG初心者 - 2008/07/31(Thu) 14:18 No.3925

はじめまして。

開発環境
 VisualBasic .Net 2008(に付属のクリレポ)
 WindowsXP Pro
 Oracle10g

今までは
OracleDataAdapter1.SelectCommand.CommandText = "SQL文"
DataSet1.Clear()
OracleDataAdapter1.Fill(DataSet1)

というようにフォームデザイナ上で
 OracleDataAdapter1
 OracleConnection1(これにConnectionstringが書かれている)
 Dataset1
を各アプリ毎に設定しておりました。

これをIDやPASSWORD、DSNをINIファイルに書き、
それを見に行くような共通関数にて制御したいと
考えています。
何か取っ掛かりのようなものでもよいので
お力をお貸し下さい。

よろしくお願いいたします。

VisualStudio2005 Pro  佐々行蔵 - 2008/07/31(Thu) 12:06 No.3924

はじめまして。

VisualStudio2005 Pro
WindowsXP

CrystalReportのレポートヘッダー部分にWindowsフォーム上の
テキストボックス(TextBox1)の内容を表示させたいのですが、
教えて頂けないでしょうか。

無題  初心者 - 2008/07/29(Tue) 14:25 No.3915

投稿させていただきます。
ページの下ごとに線をあらわす事ができますか。

宜しくお願いします
Re: 無題  24x7 - 2008/07/29(Tue) 21:35 No.3917

「ページの下ごとに線をあらわす事」って何んですか?
ページフッターに線を挿入することは、期待した結果じゃないということですか。
Re: 無題  初心者 - 2008/07/30(Wed) 09:13 No.3918

すみません。外国人なのでちょっと言葉がおかしいです。日本語が下手です。 :)

質問はページの最後のレコードを分かる関数がありますか、グループの最後のレコードを得るためにはOnLastRecordを使えば良いがページの最後のレコードを得るためにはどうすればよいでしょうか。なぜならページの最後のレコードを分かればページ毎に線を描くことができるためです。

宜しくお願いします。

Re: 無題  24x7 - 2008/07/30(Wed) 12:06 No.3920

ページ毎の最後のレコードを判別することはできませんよ。レポートのデザインにより、ページ毎にレコード件数が異なる可能性があるので、駄目です。
1ページに表示するレコード件数を固定にすれば、判別できると思いますが。。
Re: 無題  初心者 - 2008/07/30(Wed) 13:09 No.3921

まず、答えてくれてありがとうございます。

1ページに表示するレコード件数を固定にすることは無理です。
詳細の上で(グループ)サーブレポートを利用してまたデータを表示します。

ともかく、ありがとうございます。お役に立ちました。

Delphi  ガオー - 2008/07/25(Fri) 17:17 No.3906

みなさんにお聞きしたいのですが
Crystal Reports XI R2を
Delphi2007、Windiows Vistaで開発された方おいでになりますでしょうか?
レポートの印刷設定の部分でわからないことがあるのです。
プリンターの変更ができません。
デフォルトプリンタしか出力できないんです。
もし、開発経験がある方がおいでになりましたら。
一報下さい。
Re: Delphi  24x7 - 2008/07/29(Tue) 21:33 No.3916

Delphi2007 は、触ったことがないからわかりませんが、プリンタ選択するメソッドはないのでしょうか。

Ditails表示  金 羅麗 - 2008/07/24(Thu) 18:48 No.3904

はじめまして。

初心者プログラマです。
どうしても解決できないことがありまして皆さんに質問させていただきます。

詳細のデータが多い場合、2pageまでデータが続けるんですが
このとき、次のpageにはグループヘッダ(Ditails)の部分が表示されないです。
どうすれば次のpageにもグループヘッダのデータが表示されますか?

ヒントになるようなことでも良いので、よろしく御願いします。

Re: Ditails表示  24x7 - 2008/07/24(Thu) 21:01 No.3905

グループの変更から「ページごとにグループ ヘッダーを出力」をチェックします。
Re: Ditails表示  金 羅麗 - 2008/07/25(Fri) 18:18 No.3908

回答ありがとうございます。
24x7さんのおかげで解決できました。

また違い質問ですが、
詳細にデータを入力して、データがない場合は下線がなくなるように設定をしましたが、
そうしますとなくなった線の横の部分が空になって点線みたいな感じになります。
どうすればいいでしょうか。
何か方法がありましたらぜひ教えてください。
Re: Ditails表示  24x7 - 2008/07/25(Fri) 20:33 No.3909

「データがない場合、下線がなくなるように設定をしました」とはどのような設定ですか?

Re: Ditails表示  金 羅麗 - 2008/07/28(Mon) 09:21 No.3910

オブゼェクと書式設定から
「境界線 -> 下(シングル) -> x2」をチェックして
if (( Length({データ}) > 0)
and (Length({テータ}) <=0))
then
crNoLine
else
crSingleLine
上記の通りに入力しました。
Re: Ditails表示  24x7 - 2008/07/28(Mon) 21:17 No.3914

この方法では、項目を表示しないだけで、実際は、その領域分は、存在しているので空で表示されたのでしょう。
データが存在しないなら、そのセクション毎、非表示にしないとその領域をなくすことはできません。

サブーレポト  初心者 - 2008/07/28(Mon) 13:56 No.3911

初めて投稿させていただきます。
同じグループにサブーレポートを二つ入れて使っていますが、
一つは問題が無いですが、他の事が勝手にデータの値が定例されてヘッダーと値が何回出力されてします。なぜでしょうか。(データのリンクの問題がないと思いましたが、なさそう見えました。)

宜しくお願いします。

Re: サブーレポト  初心者 - 2008/07/28(Mon) 17:13 No.3913

解決しました。すみません。


サブレポートの動的追加  初心者 - 2008/07/22(Tue) 23:22 No.3902

初めて投稿させていただきます。
VS2005+VBでアプリを開発しています。
サブレポートをプログラムから動的に追加したいのですが、そのようなことはできるのでしょうか?
ご教示いただけたら幸いです、よろしくお願いします。
Re: サブレポートの動的追加  24x7 - 2008/07/23(Wed) 09:32 No.3903

残念ですが、サブレポートを動的に追加することはできませんね。


テキストオブジェクトの縦位置中央揃え  ビジター - 2008/07/22(Tue) 14:34 No.3899

初めて投稿させて頂きます。
VB.NET2005(Windowsアプリ)で開発してます。

タイトルに記載したとおりなのですが、テキストボックスオブジェクトの縦位置を中央揃えにすることはできるのでしょうか?

プロパティにはなさそうなのでCSSを使用するのかなぁ、と思うのですが、
記述方法がヘルプを見てもいまいち理解できません。

どなたかご存知の方いらっしゃいましたら、ご教授願いたいと思います。
Re: テキストオブジェクト...  24x7 - 2008/07/22(Tue) 21:38 No.3901

CSS の利用方法は、わかりませんが、デザイナの機能では、縦位置の中央揃えはないです。

複数レコードを結合して表示・・・?  M.M - 2008/07/17(Thu) 13:55 No.3894

こんにちわ、クリスタルレポート11を使用します。


Access上のレコードのデータをODBC経由で表示します。
以下のようなテーブルを結合して、表示したいのです。



テーブルA
ID Data1 Data2


テーブルB
ID ID_2 Data3


テーブルA.ID : テーブルB.ID_2 = 1:N の関係にあって、ID_2はいわゆる追い番です。


テーブルA.ID  テーブルA.Data1 テーブルA.Data2 テーブルB.Data3 テーブルB.Data3 テーブルB.Data3…


と、テーブルAのひとつのレコードの後ろにテーブルBの複数レコードがくっつく感じで、
それが10レコード程度出力する必要があります。
どのようにしたら良いのでしょう


上手い方法があったら教えてください。

Re: 複数レコードを結合し...  24x7 - 2008/07/17(Thu) 21:17 No.3896

テーブルA.ID=テーブルB.ID の関係で取得したテーブルB のデータを横方向に表示させるのですね。
サブレポートを利用してみてはどうでしょうか。
例えば、メインレポートにテーブルA.IDでグループを挿入します。
次にテーブルBでサブレポートをメインレポートのグループヘッダーに挿入します。メインとサブレポートは、テーブルA.ID=テーブルB.IDの関係でリンクします。
サブレポートのデザインで詳細セクションに「テーブルB.Data3」を挿入します。セクション エキスパートを開き、詳細セクションの「複数の列で書式設定」をチェックします。「レイアウト」タブをクリックして、詳細の幅とその間隔を指定します。これで、横方向で表示できる数が決まります。もちろん、用紙サイズにより、表示数は変化します。
印刷方向を「横から縦」とします。用紙サイズによりますが、1行で表示できれば、どちらを選択しても変化ないと思います。


行番号を出力したい  REIHOU - 2008/07/16(Wed) 10:54 No.3889

はじめまして。
Crystal Reports V11 を使用しています。

詳細部のデータごとに、行番号を出力したいのですが、どのようにしたら良いのでしょう?このような事は出来ませんでしょうか?

ちょっと色々探してみましたがみつからなかったので。
よろしくお願いします。
Re: 行番号を出力したい  24x7 - 2008/07/16(Wed) 12:03 No.3891

データ毎ならレコード番号という特殊フィールドでは駄目ですか。
あるいは、式フィールドを利用してカウントアップするとか・・


印刷用紙設定について  AMI - 2008/07/09(Wed) 09:18 No.3881

お世話になります。
先日は、クリスタルレポートの件ありがとうございました。
環境はVB2005+Access2000で開発しております。
その中で帳票印刷を「クリスタルレポート」を使用して行っております。
今回プリンタの「通常使うプリンタ」の設定を変更しようと、
たとえばプリンタの設定が縦設定になっているものを
「A4 横」に設定しようとおもっております。
調べたところ下記のコードがサンプルであったので
使用したところ、「通常使うプリンタ」の設定はかわりませんでした。
下記のコードは検討違いでしょうか?
宜しく尾根がします。

        'Dim strPapaerSZ As String
        Dim pPaperSz As System.Drawing.Printing.PaperKind


        '用紙サイズ-'A3にする
        pPaperSz = Printing.PaperKind.A3
        Dim pkSize As System.Drawing.Printing.PaperSize


        For Each pkSize In PrintDocument1.PrinterSettings.PaperSizes
            If pkSize.Kind = pPaperSz Then
                PrintDocument1.DefaultPageSettings.PaperSize = pkSize
            End If
        Next


        '用紙を横長に設定
        PrintDocument1.DefaultPageSettings.Landscape = True

Re: 印刷用紙設定について  24x7 - 2008/07/12(Sat) 15:23 No.3883

通常使うプリンタの用紙サイズの変更は、Crystal Reports に関係ない機能だと思います。レポートに対する用紙サイズの変更は、以下のような記述になりますよ。

' プリンタの指定
crReportDocument.PrintOptions.PrinterName = "test"
' 用紙サイズの設定
crReportDocument.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA3
' 印刷方向の設定
crReportDocument.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape
' 給紙方法の設定
crReportDocument.PrintOptions.PaperSource = CrystalDecisions.Shared.PaperSource.Auto
''Start the printing process.  Provide details of the print job
''using the arguments.
crReportDocument.PrintToPrinter(1, True, 1, 1)


 


印刷がずれる  OKIOKI - 2008/07/01(Tue) 09:34 No.3854

いつもこちらには、お世話になっております。質問させてください。
 ネットワークプリンタへの出力で
 ユーザー定義サイズの用紙(363*266.7)に出力する為に、
 プログラムでは、プリンタ指定、用紙方向指定、
 用紙用紙サイズにDefaultPaperSizeを指定して印刷しています。
 指定したプリンタドライバの設定は用紙(363*266.7)に設定してあります。
 (クリレポ-デザイン-プリンタ設定では指定するプリンタで用紙(363*266.7)を指定)
 
 通常使用するプリンタをMicrosoft Office Document Image Writerにした場合は、印刷のずれが無く印刷されるのですが、
 通常使用するプリンタを指定プリンタ以外の別のプリンタにすると、印刷がA4サイズ分しか印刷されない端末が発生します。

原因が思い当たる方、ご指導お願いします。

OS:WinXp
VB2005
CrystalReports10_NET
 
Re: 印刷がずれる  24x7 - 2008/07/03(Thu) 22:38 No.3863

指定した別のプリンタにはそのユーザー定義サイズの用紙に対応していないとか・・

Re: 印刷がずれる  OKIOKI - 2008/07/04(Fri) 10:02 No.3865

24x7さん ご連絡ありがとうございます。
「通常使用する」に指定した別のプリンタには、おっしゃるとおり、そのユーザー定義サイズの用紙に対応していない、又は、用紙サイズには対応しているが、ドライバの設定でデフォルト用紙サイズをA4とかにしています。
通常使用するプリンタを印刷プリンタとは別のプリンタにした場合でもその通常使用するプリンタのドライバでの用紙サイズを(363*266.7)にしておけば、正常に印刷されます。

上記のことより、クリレポで印刷する場合、DefaultPaperSizeを指定すると、通常使用するプリンタの用紙サイズになるのかと思い試してみましたが、
通常使用するプリンタの
ドライバでの用紙サイズをレター等にしてもA4サイズで印刷されます。



Re: 印刷がずれる  24x7 - 2008/07/04(Fri) 22:11 No.3871

プリンタを選択し、DefaultPaperSize を指定するのは、選択されたプリンタのデフォルトの用紙サイズを意味するのではないでしょうか。

「・・印刷がA4サイズ分しか印刷されない端末が発生します。」

ということは、A4 に印刷される端末もあるけど、期待した用紙サイズで印刷される端末もあるということですか。
このような場合、端末ごとに用紙サイズの値が違うことが想定されます。

マイクロソフト社のサイトにも掲載されていますが、各端末 (Windows PC) ごとに用紙サイズの値が違うことがあります。そのため、同一コードで用紙サイズを設定しても異なる端末で動作したときに同一用紙サイズとみなされません。
定型サイズ (A4,A3,B4,B3 など) は、最初から固定値で設定されているので異なる端末でも一致しているはずです。
でも、ユーザー定義の用紙サイズは、各端末毎に設定しますけど、その端末により用紙サイズの値が異なります。

また、Crystal Reports は、用紙サイズのその名称を保存しているわけではないので、同一名称の用紙サイズを定義してもその用紙サイズの値が異なる、または、その値が別な用紙サイズと認識されてば、期待したように印刷することができません。

Re: 印刷がずれる  OKIOKI - 2008/07/09(Wed) 16:09 No.3882

24x7 さん ありがとうございます。

もう一度現象を整理します。

アプリケーションでは、
    ・用紙サイズをDefaultPaperSize指定。
    ・プリンタを富士通ドットプリンタ(FMPR3000)指定
    ・プリンタはプリンタサーバのネットワークプリンタを使用。
    ・プリンタサーバには複数の富士通ドットプリンタ(FMPR3000)と複数のRICHOレーザープリンタ(RICOH IPSiO SP 4010)が存在。
    ・印刷する端末のプリンタはプリンタサーバの全てのプリンタが有効
    ・印刷用紙サイズはユーザ指定の279×304mm
        ・RICHOレーザープリンタ(RICOH IPSiO SP 4010)の用紙サイズ設定可能サイズは900×216

上記の環境で印刷する端末の通常使用するプリンタをRICHOにすると、富士通ドットプリンタ(FMPR3000)から出力されてくる印刷物にはA4サイズ分しか印刷されない。
通常使用するプリンタを 富士通ドットプリンタ(FMPR3000)、又は、Microsoft Office Document Image Writerにすると、正常に印刷される。

前回端末ごとに印刷がずれるものとずれないものがあるような記述をしましたが、
少し間違っていました。申し訳ありません。


上記のことから、通常使用するプリンタをRICHOにした場合、アプリケーションでDefaultPaperSizeを指定すると、印刷するプリンタのデフォルトサイズでなく
RICHOのプリンタのデフォルトサイズを採用しているように見えます。
ちなみに、RICHOプリンタのデフォルト用紙サイズはA4、富士通プリンタのデフォルト用紙サイズは279×304mm、
Microsoft Office Document Image Writerは、はがきです。

なぜこのような現象になるのか、さっぱりわかりません。どなたか、どのような仕組みでこうなるのか、ご教授お願いします。

CrystalReportを含んだプロジェクトが別マシンで実行できない  AMI - 2008/07/07(Mon) 11:31 No.3872

いつもお世話になっております
現在クリスタルレポートを使って帳票を作成しております。
環境はVB2005+Access2000で開発しております。
その中で帳票印刷を「クリスタルレポート」を使用して行っております。
開発環境では、問題なく起動するのですが、配布先では、
下記エラーがでて起動できません。
ちなみに「CrystalReportViewer」を表示させるところで下記エラーが発生します。
EXEと同じフォルダには、
「Microsoft.ReportViewer.Common.dll」
「Microsoft.ReportViewer.ProcessingObjectModel.dll」
「Microsoft.ReportViewer.WinForms.dll」
が配置されております。
なにか情報の程よろしくおねがしいます。


Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。


************** 例外テキスト **************
System.IO.FileNotFoundException: ファイルまたはアセンブリ 'CrystalDecisions.Windows.Forms, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。
ファイル名 'CrystalDecisions.Windows.Forms, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' です。
   場所 KoubanMA.TantoDialog.Button1_Click(Object sender, EventArgs e)
   場所 System.Windows.Forms.Control.OnClick(EventArgs e)
   場所 System.Windows.Forms.Button.OnClick(EventArgs e)
   場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   場所 System.Windows.Forms.Control.WndProc(Message& m)
   場所 System.Windows.Forms.ButtonBase.WndProc(Message& m)
   場所 System.Windows.Forms.Button.WndProc(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


警告: アセンブリ バインドのログ記録がオフにされています。
アセンブリ バインドのエラー ログを有効にするには、レジストリ値 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) を 1 に設定してください。
注意: アセンブリ バインドのエラー ログに関連するパフォーマンス ペナルティがあります。
この機能をオフにするには、レジストリ値 [HKLM\Software\Microsoft\Fusion!EnableLog] を削除します。


 


************** 読み込まれたアセンブリ **************
mscorlib
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.832 (QFE.050727-8300)
    コードベース: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
KoubanMA
    アセンブリ バージョン: 1.0.0.0
    Win32 バージョン: 1.0.0.0
    コードベース: file:///C:/Documents%20and%20Settings/meiko@sumi/デスクトップ/koubanMA.exe
----------------------------------------
Microsoft.VisualBasic
    アセンブリ バージョン: 8.0.0.0
    Win32 バージョン: 8.0.50727.42 (RTM.050727-4200)
    コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.832 (QFE.050727-8300)
    コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.832 (QFE.050727-8300)
    コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.832 (QFE.050727-8300)
    コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.832 (QFE.050727-8300)
    コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Data
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.832 (QFE.050727-8300)
    コードベース: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.832 (QFE.050727-8300)
    コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.832 (QFE.050727-8300)
    コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Transactions
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.832 (QFE.050727-8300)
    コードベース: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.832 (QFE.050727-8300)
    コードベース: file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
Accessibility
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.42 (RTM.050727-4200)
    コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Windows.Forms.resources
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.42 (RTM.050727-4200)
    コードベース: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
    アセンブリ バージョン: 2.0.0.0
    Win32 バージョン: 2.0.50727.832 (QFE.050727-8300)
    コードベース: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------


************** JIT デバッグ **************
Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
またはコンピュータ (machine.config) の構成ファイルの jitDebugging
値を system.windows.forms セクションで設定しなければなりません。
アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
なりません。


例:


<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>


JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
ハンドルされていない例外はすべてコンピュータに登録された
JIT デバッガに設定されなければなりません。

Re: CrystalReportを含ん・..  24x7 - 2008/07/07(Mon) 14:35 No.3873

アプリケーションの配布の方法は?

以前は、以下のリンクから配布用の msi ファイルがダウンロードできたのに、ない。http://www.businessobjects.com/support/

以下のリンクに変更になってようです。
https://www.sdn.sap.com/irj/sdn/businessobjects-sdk-forums 

Re: CrystalReportを含ん・..  24x7 - 2008/07/07(Mon) 14:44 No.3874

見つけた。

https://www.sdn.sap.com/irj/sdn/businessobjects-downloads  

上記のリンクから検索してダウンロードすることができます。
Re: CrystalReportを含ん・..  AMI - 2008/07/07(Mon) 15:03 No.3875

早速のお返事ありがとうございました。
配布方法ですが、通常のVisualStudio標準のセットアップを
作成して、依存関係を取得してMSIを作成しております。
上記リンクのなにをダウンロードすればよいのでしょうか?
Re: CrystalReportを含ん・..  24x7 - 2008/07/07(Mon) 21:27 No.3877

開発環境の以下のところにありませんか。
C:\Program Files\Microsoft Visual Studio
8\SDK\v2.0\BootStrapper\Packages\CrystalReports\CRRedist2005_x86.msi

最新版は、メーカーのサイトからダウンロードする必要がありますが、うまく検索できません。
Re: CrystalReportを含ん・..  AMI - 2008/07/08(Tue) 08:44 No.3878

早速のお返事ありがとうございました。
開発環境で
C:\Program Files\Microsoft Visual Studio
8\SDK\v2.0\BootStrapper\Packages\CrystalReports\CRRedist2005_x86.msi
上記フォルダ調べたらありました。
でそれを、動かないPCにインストールしたところ、エラーも出ず表示されるようになりました。
ありがとうございまいした。
それと一つ疑問ですが、これはVisualStudio標準のセットアップに組み込み
できないでしょうか?
今の状態ですと、EXE用のセットアップを走らせて、その次に
「CRRedist2005_x86.msi」を走らせてインストールするという
2回作業が必要になります。
やはり2回インストールしないといけないのでしょうか?
以上の件よろしくおねがしいます。
Re: CrystalReportを含ん・..  24x7 - 2008/07/08(Tue) 10:38 No.3879

マージモジュールで配布するなら、アプリケーションと一緒にセットアップを作成できると思いますが・・なぜか、VS2005 では、msi ファイルですね。よくわかりません。サーバー側からダウンロードしてインストールする ClickOnce があるのですが、そのための兼用になっているとか・・?? 


前ゼロ表示につて  400 - 2008/07/03(Thu) 16:48 No.3860

はじめまして、CrystalReportsの初心者ですがよろしければご指導お願いします。

質問内容 前ゼロ表示を行いたい
1 -> 00001
2 -> 00002
3 -> 00003
SQL文にてLPAD等組入れ実現は出来ているのですが遅い、CrystalReportsにてFORMAT関数の様な物は御座いませんでしょうか
宜しくお願いします。


環境
VB2005、CrystalReports10


Re: 前ゼロ表示につて  24x7 - 2008/07/03(Thu) 22:34 No.3862

数値なら、以下のような感じで式フィールドを挿入してみてください。
//
WhilePrintingRecords;
If {数値フィールド} < 10 then
"0000" + ToText({数値フィールド}}
else
If {数値フィールド} < 100 then
"000" + ToText({数値フィールド}}
else
"00" + ToText({数値フィールド}}

文字列なら、こんな感じです。
//長さのチェックは割愛
WhilePrinitingRecords;
"0000" + {文字列の数値}

Re: 前ゼロ表示につて  400 - 2008/07/04(Fri) 17:18 No.3870

24x7様、有難う御座いました。
大変助かりました。

データの表示 Split  taku - 2008/07/03(Thu) 19:12 No.3861

はじめまして。takuと申します。

初心者で、どうしていいか分からず、
ご教授いただけたらと思い、書き込ませていただきます。


Accessのテーブルの項目Aに、

あああ,いいい,ううう

というデータが入っています。

Dim x() as string
x = Split(項目A,",")

x(1)を表示する。


実際は、
x(1)をレポート上のフィールドに表示させたいのですが、
レポートの式フィールドでの書き方が分かりません。

式フィールドに、Split (項目A,",")と記述すると、
boolが返ってきてしまって、意図する結果ではなく、困っています。


ご存知の方がいらっしゃいましたら、ご教授願います。




Re: データの表示 Split  24x7 - 2008/07/03(Thu) 22:46 No.3864

Basic 構文を利用して、以下の記述で期待した結果が表示できたと思います。
Dim x() as string
' A で区切る
x = Split(項目A,"A") 
Formula=x(1)

Re: データの表示 Split  taku - 2008/07/04(Fri) 10:28 No.3866

ありがとうございます。
早速試してみましたが、出来ませんでした・・・

Dim x() as string

『残りのテキストは式の一部にはなりません』とエラー?が出ました。

 Dim x() as string
 ↓
 StringVar x[3];
 x= Split ({ZAT_TP_ZAT.IDO_KBN_ENDOUT},",");
 x [1];

結果は、""で、値が表示されません・・・

もう少し、探って見ます。。。
限界のような気がしますが・・・

Re: データの表示 Split  24x7 - 2008/07/04(Fri) 10:48 No.3867

StringVar x[3];
 x= Split ({ZAT_TP_ZAT.IDO_KBN_ENDOUT},",");
 x [1];

は、Crystal 構文ですよ、どちらの構文を使いたいのでしょう。

あと、最初の質問では、期待した結果じゃないけど、エラーになっていなかったのではないですか?

Dim x() as string
x = Split(項目A,",")

x(1)を表示する。


同じ記述ではないのですか?
Re: データの表示 Split  taku - 2008/07/04(Fri) 10:51 No.3868

すいません。

クリスタル構文を使いたいです。

同じ記述だと思って、試してみたんですが、
空白になってしまって、結果が表示されないんです・・・

Re: データの表示 Split  taku - 2008/07/04(Fri) 11:12 No.3869

ご教授ありがとうございました。

無事、意図する結果を出すことが出来ました。

余分なコードが入っていたため、
Basic構文とみなされなかったようです。

あとは、最後にFormulaを記述していませんでした。


印刷プレビュー時に・・・  かめお - 2008/07/02(Wed) 13:47 No.3857

はじめまして。
いつものように使っていたクリスタルレポートファイルを別名で保存して、プロジェクトに追加して、別名のクリスタルレポートは項目を変えて、エクセルに出力させるようにしたのですが、そうしたら、もとのクリスタルレポートでの帳票が出なくなってしまいました。具体的には一枚目しか出ず、データベースログインというインプットボックスが表示されます。
解決法おわかりになる方宜しくお願いします。
Re: 印刷プレビュー時に・・・  24x7 - 2008/07/02(Wed) 21:49 No.3858

プロジェクトって、何の開発環境ですか?
「レポートは項目を変えて」って何を変更したのですか?
「エクセルに出力」って、Excel 形式にエクスポートすることですか?
「一枚目しか出ず」って、Excel に出力した結果ですか?
それとも、Crystal レポートですか?
そのデータ内容は最新データですか?
「もとのクリスタルレポートの帳票」って、「別名のクリスタルレポート」ではないということですか?
「データベースログイン」って、コード上でデータベースの接続は行っていますか?
プロジェクト内では、「もとの・・」と「別名の・・」の2つのレポートが含まれているということですか?
1つは、そのままプレビュー表示、印刷(?)、もう一つは、Excel 形式にエクスポートですか?


複合チャート   ガオー - 2008/06/30(Mon) 09:52 No.3850

チャート図の縦棒グラフと折れ線グラフの複合についての
質問の追加です。
左軸に金額表示で対象が縦棒グラフ2つ、折れ線グラフ2つ
右軸が比率表示で折れ線グラフ1つの複合チャートです。
作成後、上書き保存し、再度ファイルを開くと、
左軸の縦棒グラフと折れ線グラフの2つが
右軸の設定軸に設定されています。
「チャートオプション」>「一般」>「2重Y軸オプション」で
再設定しすると元にもどるのですが。
上書き保存して、再度開くとまた、おかしくなります。
どうしてでしょうか。

レポートのデータ初期化  ポン太 - 2008/06/30(Mon) 09:13 No.3849

いつもここで、お世話になっています。今回もよろしくお願いします。
VB.net 2005 + 付属のクリスタルレポートで作成中です。

クリスタルレポートを表示させる画面の統一を行っています。
1つの画面にreportviewerとreportSourceを置き使いまわしています。

この時に、新たな帳票を作成するときに、始めにクリスタルレポートのデータの初期化を行いたいのですが、どのようにしたらよろしいのでしょうか?
過去ログのNo.3250の
'//レポートの保持されたデータ破棄
    CrystalReport.DiscardSavedData
は、VB.net 2005では、使用できなかったのですが・・・

キャッシュのクリアも考えましたが、これだと、クリスタルレポートで表示された帳票の2ページ目以降も再読み込みの必要があるのでスピードが遅くなってしまいます。


どなたかご存知でしたら教えてくださいお願いします。


ページヘッダー  coco - 2008/06/26(Thu) 10:53 No.3842

はじめましてse初心者のcocoと申します。
全く分からない状態なので教えて頂けるとありがたいです。

環境 VB6.0 CRXI

CRでページヘッダーを2枚目から表示させることは可能でしょうか?
(一枚目は非表示)にしたいんです。

どのように制御したらいいか教えてくださいお願いします。
Re: ページヘッダー  24x7 - 2008/06/26(Thu) 14:05 No.3846

ページヘッダーの非表示 (チェック不要) の条件式に以下の式を挿入します。
WhilePrintingRecords;
PageNumber=1
Re: ページヘッダー  coco - 2008/06/27(Fri) 08:53 No.3848

あ!ありがとうございます。
これからもちょくちょく質問させていただきますね。
その時はよろしくお願いします。


マージモジュールの作成方法  ゆーと - 2008/06/25(Wed) 14:50 No.3838

はじめまして
 現在、VB6.0(sp6)、クリレポ11(R2ではありません)で開発を行っていますが、
 開発機(クリレポインストール済)ではレポートプレビューが行えるのですが
 実機(vbのディストリビューションウィザードより作成した環境)では動作しない
 レポートがあるため、RDCのマージモジュールを入手しましたが

 これをどのようにインストールパッケージに含めて配布したら良いのか?
 色々調べたのですが、ぴったりする情報がなく悩んでいます。

 VS6.0のディストリビューションウィザードを利用してマージモジュールを指定、追加しても動作しませんでした。
 マージモジュールを分解?してインストールパッケージに組み込むようなことが出来れば良いと思うのですが、それにはどのような製品が必要でどのような手順にて行えば良いかを御教授願えれば幸いです。

宜しく御願いいたします。
Re: マージモジュールの作...  24x7 - 2008/06/25(Wed) 21:40 No.3839

VB のディストリビューションウィザードでは、ランタイムファイルを配布することはできません。RDC マージモジュールは、MS Visual Studio Installer を利用してパッケージを作成します。
Re: マージモジュールの作...  ゆーと - 2008/06/26(Thu) 12:04 No.3843

24x7さん 有難う御座います。

早速、VISUAL STUDIO INSTALLERにてクリレポのRDCのマージモジュールを検索場所に含めて実行しました。

が、 U2DPOST.DLL、U2FSEPV.DLL、U2FXML.DLL が無効ですと表示されて
ビルドが成功しませんでした。

クリレポ11はインストール時にカスタムにて全てをDISKより実行できるように
インストールしたので、DLLが不足している・・・とは思えなかったのですが
これらのDLLはクリレポ11では提供されないのでしょうか?
または、マージモジュールが足らないのでしょうか?

マージモジュールは
 CrystalReports11_maps.msm
 CrystalReports11_RDC_Designtime.msm
 CrystalReports11_RDC_License.msm
 CrystalReports11_RDC_Reportengine.msm
 CrystalReports11_RDC_Runtime.msm
が参照先に格納されています
Re: マージモジュールの作...  24x7 - 2008/06/26(Thu) 14:04 No.3845

Visual Studio Installer で、マージモジュールだけでパッケージ作成したのですよね。U2xx が無効ですとはならないはですよ。
開発環境にインストールされたランタイム ファイルを利用してパッケージは作成してので、製品インストール時に不足しても関係ないですけど・・

Re: マージモジュールの作...  ゆーと - 2008/06/26(Thu) 17:20 No.3847

24x7さん 有難う御座います。

今回パッケージ作成したのは、既存のVBプロジェクトにマージモジュールを
プロジェクトのプロパティ→マージモジュールの検索パスに追加してmsi ファイルを
作成しました。これでエラーが出ていました。

24x7さんのいわれるように、VisualStudioInstallerより空のインストーラを選択し
ファイルにマージモジュールを追加してビルドする事により、マージモジュールのみ
でのパッケージ作成を行いました。これを実行環境にインストールする事で
正常に動作させる事が出来ました。

有難う御座いました。


複合チャート  ガオー - 2008/06/26(Thu) 13:29 No.3844

Crestal Reports 10で折れ線グラフと縦棒グラフの複合チャートを
作成したのですが、データ変更してリフレッシュするたびに
折れ線グラフが縦棒グラフに戻ってしまいます。
どうしてでしょうか?
 また、折れ線グラフは小数点1位まで表示し、
縦棒グラフは小数点なしのデータ表示したいのですが
どのように設定すればよいのでしょうか。
宜しくお願い致します。

複数行の表示  ポン太 - 2008/06/18(Wed) 22:05 No.3823

ここでは、最近お世話になっています。
No.3807  の続きなのですがよろしくお願いします。
VB.net 2005 + 付属のクリスタルレポートで作成中です。

今回、DBフィールド[文字列1]のテキストオブジェクトの書式で「複数行に出力」にチェックをいれて、その値にデータを入力しているます。
そして、表示させた場合、文字列が変なところで切られて改行されてしまいます。
これは、なぜなのでしょうか?

どなたか、教えてください。

ちなみに、フォントは、MSゴシックです。


==============
| そ        |
| の他       |
==============


Re: 複数行の表示  24x7 - 2008/06/18(Wed) 22:09 No.3825

多分、USP10.DLL ファイルのバージョンの違いによる動作で発生したものです。USP10.DLL ファイルは、Windows XP SP1 環境に存在するものが相性がよいです。その後、Windows Update や Office のインストールで参照する USP10.DLL のバージョンが更新されると改行位置がおかしくなることがあります。
Re: 複数行の表示  ポン太 - 2008/06/25(Wed) 08:46 No.3836

24x7さんありがとうございます。
返信おそくなりましたが、なんとか、解決しました。
USP10.DLL ファイルのバージョンが違うのを多く試したのですが、きれいに切ってくれる文字モジュールが見つかりませんでした。当然、Windows XP SP1 環境に存在するUSP10.DLL は、始めに試しました。

いろいろ考えた末に、文字列の適当な文字数で、改行コードを入れることで、無理やり改行することにしました。
ありがとうございました。


Vsita対応のバージョンは?  Y00 - 2008/06/23(Mon) 11:12 No.3831

現在は以下の組み合わせで作成したアプリがあります。

@VB5.0+CrystalReport7.0
AVB6.0+CrystalReport8.5

AはもしかしてVistaでも動作するかもと淡い期待をしておりますが、
実際は動作しますでしょうか?
もしアップグレードが必要ならば、
Vistaで動作させる為には、どのバージョンにすればいいでしょうか?

もし同様なアップグレードを経験された方の情報をお待ちしております。
実際に検証作業をする場合の参考にさせて頂こうと思います。
Re: Vsita対応のバージョ・..  24x7 - 2008/06/23(Mon) 22:08 No.3832

メーカーのサイトには、CR XI R2 から Vista 環境で動作するようです。
http://support.businessobjects.com/communityCS/TechnicalPapers/cr_xi_r2_supported_platforms_windows_sp3.pdf.asp  
でも、CR XI R2 にアップグレードすると VB も開発コンポーネントもすべて変更しなければ、駄目です。
CR7/CR8.5 なら、OCX でも使っているのでしょうか?それなら、もう存在していません。RDC もサポートしていないし・・
Re: Vsita対応のバージョ・..  Y00 - 2008/06/24(Tue) 14:07 No.3834

コメントありがとうございます。

>CR7/CR8.5 なら、OCX でも使っているのでしょうか?それなら、もう存在していません。RDC もサポートしていないし・・

そうです。OCXです。
古いバージョンですが、システムの都合上このバージョンのままです。

いずれにしてもバージョンアップなら周りの機能もあわせてのことに
なりますので、相談してみないと一担当者では決められないです。


無題  茣蓙 - 2008/06/19(Thu) 16:36 No.3826

帳票に画像を出力しているんですが画像が設定されていない時に枠線が出てしまいます
〜LineStyleはcrLSNoLineになっていて画像が設定されている時は特に表示されないんですが・・・
Re: 無題  24x7 - 2008/06/19(Thu) 21:48 No.3828

回避方法はないので、テキストオブジェクトを上に乗せて、非表示の条件式で制御したらどうでしょう。
Re: 無題  茣蓙 - 2008/06/20(Fri) 11:06 No.3829

なるほど・・・最悪はプログラム側で真っ白な画像でも入れようかと思っていたのですがその方が良さそうですね
ありがとうございます

CrystalReportsクラスが作れない。  emotion - 2007/11/03(Sat) 15:10 No.3364

初めてクリスタルレポートを触るのでと思い、検索していたらこのページに辿りつきました。
とてもわかりやすく書いてくれてあり大変助かりました。

そして、このページに従って作っていったのですが、HiraCryRepo1クラスになっているので、インスタンス化をインスタンス化するという作業のところで詰まりました・・・。

以下がソースです。

Dim Cryds As CryDataSet = New CryDataSet
Dim Crytr As CryDataSet.CryDataTableRow

Crytr = Cryds.CryDataTable.NewRow

Crytr.BeginEdit()
Crytr.ID = 1
Crytr.Val1 ="テスト"
Crytr.Val2 ="テスト2"
Crytr.EndEdit()

Cryds.CryDataTable.Rows.Add(Crytr)

Dim report As New CrystalReport ←この行でエラー

とすると
「型 'CrystalReport' が定義されていません。」とエラーがでてしまいます。

CrystalReportViewerは貼り付けられました。
また、クリスタルレポートのプレビューは見れました。

環境
VS2005のASPを利用
CrystalReportはバンドルされていたもの。
winXP Pro

わかるかたご教授お願いします。
Re: CrystalReportsクラス...  べべべ - 2008/06/17(Tue) 20:31 No.3821

半年前のスレっぽいですが・・・


>Dim report As New CrystalReport ←この行でエラー

'クリスタルレポートのインスタンス化
Dim report As HiraCryRepo1 = New HiraCryRepo1
'文字列の設定
Cmd.CommandText = strSqlSelect
'データテーブルの定義
Dim dadp As OleDbDataAdapter
Dim dset As DataSet = New DataSet("レポート")
Dim dtbl As DataTable
'データテーブルの設定
dadp = New OleDbDataAdapter(strSqlSelect, gDbConData)
dadp.Fill(dset, "レポート")
dtbl = dset.Tables("レポート")
'クリスタルレポートの設定
report.SetDataSource(dtbl)
CrystalReportViewer1.ReportSource = report

あとはクリスタルレポート上で、表示したいカラムを
ドラッグしてあげれば表示可能かと。


2ページ以降のページヘッダ  ポン太 - 2008/06/13(Fri) 09:26 No.3807

よろしくお願いします。

VB.net 2005 + 付属のクリスタルレポートで作成中です。

新しい問題です。
改ページを行った場合、ページヘッダの文字列が表示されません。

その文字列は、ページヘッダーにデータベースフィールドにあるテーブルの列を1つ置いています。そして、列の名前をデータベースからとって来るようにしています。


しかし、2ページ目に移動したときにページヘッダにあった文字列が表示されませんでした。
どのようにしたらよろしいでしょうか?


一応、ページヘッダに書かれたテキストボックスは、表示されるのですが・・・



1ページ目
----------------------------------------------
ページヘッダ

DBフィールド[文字列1]  DBフィールド[文字列2]  作成者名(テキストオブジェクト)

---------------------------------------------------
詳細
 テキスト1        テキスト2           太郎

 テキスト3        テキスト3           次郎
---------------------------------------------------


2ページ目
----------------------------------------------
ページヘッダ

                               作成者名(テキストオブジェクト)

---------------------------------------------------
詳細
 テキスト1        テキスト2           太郎

 テキスト3        テキスト3           次郎
---------------------------------------------------

というような感じです。
どのようにしたら文字列を改ページしたものに表示できるのでしょうか。
どなたか教えていください。

Re: 2ページ以降のページ・..  24x7 - 2008/06/13(Fri) 12:19 No.3809

データベースから取得するデータをページヘッダー、フッターに表示することはやめたほうがいいですよ。
ページヘッダー、フッターは、項目名などのテキストのみで、データベースのデータを表示しないことです。

Re: 2ページ以降のページ・..  ポン太 - 2008/06/16(Mon) 08:40 No.3814

そうなのですか、24x7さんありがとうございます。

では、この場合、列のタイトルを可変にするのは、どのようにすればよいのでしょうか?考えても探しても見つからないのですが。
よい案があったら、教えてください。
Re: 2ページ以降のページ・..  24x7 - 2008/06/16(Mon) 11:03 No.3815

列のタイトルを可変するですが。。
ページ毎に可変になるわけですよね、ページ単位でどのような条件で可変になるのでしょう。
通常、詳細には各レコードが表示されるけど、そのページヘッダーには、そのページの先頭レコードを表示するとか・・
その可変となる条件により、考えないといけないと思います。
Re: 2ページ以降のページ・..  24x7 - 2008/06/16(Mon) 21:33 No.3817


1ページ目
----------------------------------------------
ページヘッダ

DBフィールド[文字列1]  DBフィールド[文字列2]  作成者名(テキストオブジェクト)

---------------------------------------------------
詳細
 テキスト1        テキスト2           太郎

 テキスト3        テキスト3           次郎
---------------------------------------------------

上記の例では、データベースフィールドの [文字列1] と [文字列2] は、詳細セクションのどのデータを期待しているのでしょうか。
Re: 2ページ以降のページ・..  ポン太 - 2008/06/17(Tue) 09:38 No.3818

24x7さん、お返事ありがとうございます。

説明不足ですいません。
今回は、クリスタルレポート呼び出す画面がありまして、そこで、選択したものを表示するというものです。

ですので、Reportsetに列 文字列1 と 文字列2 と テキスト1の列とテキスト2の列の4つの列を作成しています。

そこに DBから読み込んできたもの当てはめてやって表示する形です。
文字列1には、テキスト1の列の名前 文字列2には、テキスト2の列の名前を入れるようにしています。




DBフィールド[文字列1]  DBフィールド[文字列2]  作成者名(テキストオブジェクト)

---------------------------------------------------
詳細
 テキスト1        テキスト2           太郎

 テキスト3        テキスト3           次郎
---------------------------------------------------。



例 選択ページ

(チェックボックス)
■身長
□体重
□年齢
■生年月日
                    実行ボタン
---------------------------------------------



(DBフィールド[文字列1]  DBフィールド[文字列2]  作成者名(テキストオブジェクト))
  身長          生年月日           名前
---------------------------------------------------
詳細
 160            6/11                 太郎

 150               10/5                  次郎
---------------------------------------------------



このような感じで列名が変わります。
このときに、ページヘッダにデータベースから取得するデータを置いていると、2ページ目で消えています。


Re: 2ページ以降のページ・..  24x7 - 2008/06/17(Tue) 11:15 No.3819

「身長」「生年月日」「名前」は、1レコードに収容されているわけですよね。1レコード目と2レコード目でも同じ値なのでしょうか。
データの持ち方がよくわかりませんね。
各レコードの内容が詳細セクションで表示しますよね。
例えば、そのデータベース項目をページヘッダーに挿入しても1ページ目のページヘッダーには、最初の1レコード目のデータが表示され、2ページ目のページヘッダーは、1ページ目に表示されたレコード数分+1番目のデータが表示されることになると思います。
Re: 2ページ以降のページ・..  ポン太 - 2008/06/17(Tue) 18:33 No.3820

24x7 さん、ありがとうございます。

『1ページ目のページヘッダーには、最初の1レコード目のデータが表示され、2ページ目のページヘッダーは、1ページ目に表示されたレコード数分+1番目のデータが表示されることになる』

ということに、全然気づきませんでした。

なので、1レコード分だけデータを持たせておけば次のページでも参照されると思っていました。
次のページ用にレコードを作成することでいけました。

本当にありがとうございました。


日付加算  まえま - 2008/06/12(Thu) 15:35 No.3799

お世話になっております。

下記「No.3794」は解決したんですが、新たな問題が出たので質問させていただきます。

環境は下記の通りです。

--------------------
開発言語:VB6.0(SP5)
クリレポVer.:7.0
DBMS:oracle8.1.7
--------------------

質問ですが、VBで言うところの【dateadd関数】は無いのでしょうか?
無いのであれば、どのように実現したらよいのでしょうか?



最悪、oracleのViewで加減算済のフィールドを取得するか、
hour関数などで、加減算による年・月・日の変わり目を考慮した複雑な式で実現するか…
といったところなんですが、それは本当に無理な場合の最終手段にしたいので、
それなりに簡単なやりかたがあれば、是非ご教授ください。
よろしくお願いします。
Re: 日付加算  まえま - 2008/06/12(Thu) 17:16 No.3800

<補足>

SQLクエリーにて加算済の項目を取得しようと試みましたが、
追加記述したSQLが保存できませんでした。

※レポートファイルを閉じて再オープンし、SQLクエリーを開くと追加記述した項目が消える。

Re: 日付加算  24x7 - 2008/06/12(Thu) 22:46 No.3803

DateAdd 関数はありませんね。
Crystal Reports 7 は、わかりませんが、
Crystal Reports XI で DateValue(YYYY,MM,DD) + 1 で日付が 1日加算されます。
DateValue(2007,12,31)+1 で 2008/01/01 と表示されました。
DateValue(CurrentDateTime)+1 も利用できました。
無題  まえま - 2008/06/13(Fri) 09:11 No.3805

>24x7さん

度々ありがとうございます。
7時間マイナスしたかったんですが、

{日付項目} - (7 / 24)

というシンプルな式でいけました。
通常の日付型の加減算では、”日”が基準になるようですね。

お手数おかけしました。
Re: 無題  まえま - 2008/06/13(Fri) 09:13 No.3806

>管理者様

すいません。
返信するつもりが、新規投稿になってしまいました。
申し訳ありません。
Re: 無題  ひらちゃん - 2008/06/14(Sat) 16:58 No.3812

移動しました。
ここでよかったですかね。

プレビューと印刷の違い!?  なかじ - 2008/06/12(Thu) 21:11 No.3801

お世話になっております。

VB.NET 2005 とCrystalReportsXI Release2で開発を行っております。
VBからは、データセットをReportファイルに渡してますが、
プレビューと印刷で出力される内容に違いがあり困っております。

<VBとレポートのデータの簡単な処理内容>
●データセットをReportファイルにセット
●Report にパラメータフィールドに値をセット。
●レポートでは、選択式にパラメータフィールドの内容を元に
 データの絞りこみ

印刷した場合には【選択式−レコードの選択】の内容で絞りこまれますが、
プレビューでは絞りこまれません。(データセットの内容すべて出力されてます。)
パラメータが正しく渡っているところまで確認したのですが、
何が悪いのかがわからなくて困っております。

どなたか、解決方法をご存知でしょうか?
(プレビューの場合は、絞りこむようなメソッドを呼ぶ必要があるのでしょうか?)

プログラムは、このような感じです。

----------------------------------------------------
'@ レポートファイルのセット
Dim ReportType As Type = Type.GetType(対象のレポートファイル.rpt)

'A @でセットしたReportTypeを元にインスタンスの作成
mobjReport = CType(Activator.CreateInstance(ReportType), Object)

'B Aで作成したインスタンスにデータセットをセットする。
mobjReport.SetDataSource(dsReportData)


・パラメータフィールドにセットする処理等


※分岐
 <印刷の場合> 選択式の内容で絞りこまれ、正しく出力されます。
 mobjReport.PrintToPrinter(1, False, 0, 0)

 <プレビューの場合> セットしたデータセットの内容がすべて表示されます。
 ' form にCRViewer を貼り付けた画面のオブジェクトの生成
 Dim aPreview As frmCRViewer
 aPreview = New frmCRViewer
 ' 画面オブジェクトに、レポートオブジェクトのセット
 aPreview.CRViewer.ReportSource = mobjReport
 ' 画面の表示
 aPreview.Show()

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

Re: プレビューと印刷の違...  なかじ - 2008/06/13(Fri) 09:33 No.3808

>'@ レポートファイルのセット
>Dim ReportType As Type = Type.GetType(対象のレポートファイル.rpt)

'@ レポートクラスの取得(文字列から動的取得)
Dim ReportType As Type = Type.GetType(対象のレポートファイルのクラス名)

の間違いでしたレポートはプロジェクトに取り込み、動的にクラスのインスタンスを生成するようにしています。

無題  ポン太 - 2008/06/12(Thu) 13:17 No.3798

よろしくお願いします。質問です。

VB.net 2005 + 付属のクリスタルレポート

クリスタルレポートでは、テキストエクセルのように縦の位置を中央揃えにできないのか?

過去ログを見てもわからなかったので、どなたか教えてください。
Re: 無題  24x7 - 2008/06/12(Thu) 22:35 No.3802

縦方向の中央揃えはできないですね。

Re: 無題  ポン太 - 2008/06/13(Fri) 09:11 No.3804

そうなのですか、ありがとうございました。

日時指定  まえま - 2008/06/12(Thu) 10:26 No.3794

はじめまして。初投稿です。

開発言語:VB6.0(SP5)
クリレポVer.:7.0
DBMS:oracle8.1.7

上記環境にて、SelectionFormulaで日付型(年月日時分秒)の指定をしたいんですが、実現方法が分からず困っています。

年月日のみでしたらdate(yyyy,mm,dd)で出来るようですが。。。

調べても分からなかったので、その日付型の項目を式フィールドで
ToText({日付項目},"yyyyMMddhhmmss")
と変換し、SelectionFormulaを
{@変換した式フィールド} >= '" & Format(指定日時変数(date型), "yyyymmddhhmmss") & "'"
のようにして試したんですが、抽出結果が0件になってしましました。
その指定を解除するとちゃんと抽出されますし、式フィールドにも思う通りの正しい値が出力されておりました。
(もちろん右辺の指定日時にはレコードが存在する日時で試しております)

SelectionFormulaでのレコード絞り込みタイミングより式フィールドの変換タイミングが遅いせいなのでしょうか?

どうすれば実現できるのか、全くわからなくなり困っております。

どなたかご存じの方おられましたら、ご教授お願い致します。
Re: 日時指定  24x7 - 2008/06/12(Thu) 12:57 No.3795

単純に比べたらレコード選択式が先に実行されますよ。
式フィールドをレコード選択式で利用するなら、
式フィールドの先頭行に WhileReadingRecords; を追加して試してみてください。
Re: 日時指定  まえま - 2008/06/12(Thu) 13:14 No.3797

>24x7さん

ご指導ありがとうございます。

たった今、

{日付型のデータベースフィールド} >= DateTime(" & Format(指定日時変数(date型) , "yyyy,mm,dd,hh,nn,ss") & ")"

の記述で上手いこといきました!

ご親切にありがとうございました。

2つの表  ポン太 - 2008/06/05(Thu) 14:00 No.3786

クリスタルレポート初心者です。
VB.net 2005 + 付属のクリスタルレポートでクリスタルレポートの1つの画面に表2つとグラフを作成しています


1つの表は、4行
2つの表は、10行のものです。


1つのクリスタルレポートに異なるカラム名のテーブルを2つ使用して詳細画面に表示させると


2つのテーブルが相互作用してか1つ目の帳票×2つ目の帳票の行だけ表示されます。


どなたか、クリスタルレポートに2つの表を並べて作成するよい解決方法を知っていませんか?




ページヘッダー


表1  機械名  機械名2  機械名3 ・・・機械名10                表2  故障原因1   故障原因2
---------------------------------------------------------------------------------------------------------
詳細



発売日    2007        2008       2007                            機械名


値段   \2000       \50000      \3000                 機械名2
 
発売台数 100     200   300     機械名3 発熱


メーカー ○○    ×× △△     機械名4
           ・
                                      ・
                                      ・
                                    機械名10
-------------------------------------------------------------------------------------------------------------


 



実際に作成した結果 


・40行作成されました。


表1の1行が10行作成されて、表2も4回繰り返されています。


ページヘッダー


表1  機械名  機械名2  機械名3 ・・・機械名10                表2  故障原因1   故障原因2
---------------------------------------------------------------------------------------------------------
詳細



発売日    2007        2008       2007   ・・・                   機械名
発売日    2007        2008       2007   ・・・             機械名2
発売日    2007        2008       2007   ・・・             機械名3 発熱
発売日    2007        2008       2007   ・・・             機械名4
          ・                          ・
          ・                          ・
          ・                         機械名10


 


 



値段   \2000       \50000      \3000 ・・・             機械名     
         機械名2
 
         機械名3 発熱


         機械名4
           ・
                                      ・
                                      ・
                                    機械名10
-------------------------------------------------------------------------------------------------------------



プログラムは、このような感じです。


Dim dataset As New dataset
       
        dataset.Tables("表1").Rows.Add()
        dataset.Tables("表1").Rows(0).Item("表1") = "発売日"
        dataset.Tables("表1").Rows(0).Item("機械名") = 2007
        dataset.Tables("表1").Rows(0).Item("機械名2") = 2008
        dataset.Tables("表1").Rows(0).Item("機械名3") = 2007


        dataset.Tables("表1").Rows.Add()
        dataset.Tables("表1").Rows(1).Item("表1") = "値段"
        dataset.Tables("表1").Rows(1).Item("機械名") = 2000
        dataset.Tables("表1").Rows(1).Item("機械名2") = 50000
        dataset.Tables("表1").Rows(1).Item("機械名3") = 3000


                      ・
                      ・


 


       
        dataset.Tables("表2").Rows.Add()
        dataset.Tables("表2").Rows(0).Item("表2") = "機械名"
        dataset.Tables("表2").Rows(0).Item("故障原因1") = ""
        dataset.Tables("表2").Rows(0).Item("故障原因2") = ""



        dataset.Tables("表2").Rows.Add()
        dataset.Tables("表2").Rows(1).Item("表2") = "機械名2"
        dataset.Tables("表2").Rows(1).Item("故障原因1") = ""
        dataset.Tables("表2").Rows(1).Item("故障原因2") = ""


        dataset.Tables("表2").Rows.Add()
        dataset.Tables("表2").Rows(2).Item("表2") = "機械名3"
        dataset.Tables("表2").Rows(2).Item("故障原因1") = "発熱"
        dataset.Tables("表2").Rows(2).Item("故障原因2") = ""
                     ・
                     ・
                     ・



        CrystalReportSource1.Report.FileName = "クリスタルレポート.fpt"
        CrystalReportSource1.ReportDocument.SetDataSource(dataset)



データエキスパートで、
ADO.NET データセット
(dataset.xsd で作成したまったく違った種類のテーブルを2つを使用)
この2つを選択した場合
========================================================================================================================


ビジュアルリンク 
現在のリンク設定には、複数の開始点があります。複数の開始点のサポートは、されていません
========================================================================================================================



とでるのですが、テーブルを複数セットできると書いてある本があるのですが、これのせいなのでしょうか?
どなたか分かる方がおられたら教えてください。

Re: 2つの表  24x7 - 2008/06/05(Thu) 21:43 No.3787

そうだと思いますよ。

Re: 2つの表  ポン太 - 2008/06/06(Fri) 15:54 No.3788

24x7 さん ありがとうございます。

そうなのですか。

やはり、クリスタルレポートには、リンクのない異なったテーブルを2種類置くことが出来ないということは、別々のクリスタルレポートで、で表を作成しなければならないのですか・・・

何か、このような表を作成する手段がありましたら、知恵をお貸しください。
Re: 2つの表  24x7 - 2008/06/10(Tue) 13:16 No.3791

一つをサブレポートにする、または、2つともサブレポートにするのでどうでしょうか
Re: 2つの表  ポン太 - 2008/06/12(Thu) 13:12 No.3796

24x7 さん ありがとうございます。

今回は、表示する列の数が決まっていたので、力技で、テーブルのキーを表に表示できる数だけ作ってヘッダーに手書きで作成しました。
ありがとうございました。

グラフ作成にて  ポン太 - 2008/06/02(Mon) 09:07 No.3780

はじめまして、クリスタルレポート初心者です。


VB.NET2005 + .NET付属のクリスタルレポートで開発しています。


折れ線グラフと棒グラフを組み合わせたグラフを作成しようとしているですができません。
折れ線か棒グラフかしか作成できません。
どのようにすればよろしいか教えてください。

Re: グラフ作成にて  24x7 - 2008/06/02(Mon) 13:01 No.3782

製品版では、2重軸を選択している場合、折れ線と棒グラフはできますが・・チャートオプションにメニューがありますが・・.NET付属はどうでしょう?

Re: グラフ作成にて  ポン太 - 2008/06/03(Tue) 17:24 No.3784



見てみましたが、2重軸を選択し、チャートオプションのメニューを見てみましたが、「テンプレート、一般、タイトル、グリッド」のみしか表示されません。
やはり、.NET付属版では、できないのでしょうか。
後、.NET付属版のせいか、凡例も文字列も修正することができないのですが、他にやりかたなどがありましたら、教えてください。

Re: グラフ作成にて  24x7 - 2008/06/07(Sat) 05:12 No.3789

.NET バンドル版では折れ線と棒グラフを混在させることはできませんね。残念。


チャート・クロスタブの表示のさせ方で・・・  かーくん - 2008/05/28(Wed) 22:09 No.3775

開発環境
・CrstalReport XI
・OS windows XP
・言語 VS2005 VB webアプリケーション

crystal reports 初心者です。
今回、エクセルで表示させていたものをcrystal Reports XI を使用してグラフ
と表の作成を行っております。可能な限り、エクセルで表示させているものと同
じ表示のさせかたをしたいのですが、
以下の問題で悩んでおります。
どなたかアドバイスいただけないでしょうか?

(1)クロスタブ作成時


_______________________________________________________
   |     年月   |  年月 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   |要素1   要素2  |要素1   要素2 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
行名1 |  数値  数値 | 数値   数値 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
行名2 |  数値  数値 | 数値   数値   |


このようなものをクロスタブで作成しました

しかし、
(集計フィールを横にラベルを表示させた時)
クロスタブ エキスパート → スタイルのカスタマイズ → グリッドライン
の書式で
要素1と要素2の間に点線を引くことができません。

サンプルでは、線が薄くですが、書かれています。

線をクロスタブに挿入する方法があれば、教えてください。

ちなみにサンプルは、
C:\Program Files\Microsoft Visual Studio 8\Crystal
Reports\Samples\ja\Reports\Feature Examples\CrossTab.rpt
を参考に作成しました。
サンプルでは、受注額と百聞比率受注額の間に薄い線が書かれいます。調べてみ
ましたが。どこで書かれているかわかりません。


(2)積み上げ棒チャート作成時


(1)のクロスタブの数字を使ってグラフを作成を行いました。

横軸 月日
横軸 要素合計値

要素数|
     |
     |  □
     |  □         
     |  ■  □      □    
     |  ■  ■      ■    ■
     |  ■  ■      ■    ■
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

       要素1 要素2  要素1  要素2

5月         6月
■ 行1
□ 行2

このようなチャートを作成しようとしています。


ですが、要素1のみしか棒グラフが作成できませんでした。

チャート作成時
基本フィールド
月日

細分基準
行名

表示
要素1の合計

このときに、表示が1つしか選べずに、要素1のグラフしか作成できませんでし
た。
同じ月の要素1と要素2を並べて表示させるのは、どのようにすればよいでしょ
うか?
Re: チャート・クロスタブ...  - 2008/05/29(Thu) 12:11 No.3777

クロスタブを使用するのを諦めて、質問をグラフのみに変えさせてもらいます。

クリスタルレポートで、以下のグラフを作成しようとしています。
要素数|
     |
     |  □
     |  □         
     |  ■  □      □    
     |  ■  ■      ■    ■
     |  ■  ■      ■    ■
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


       要素1 要素2  要素1  要素2


               5月         6月
■ 行1
□ 行2


参照するデータは、以下のようになっています。
   |     年月    |  年月              |
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   |要素1   要素2  |要素1    要素2   |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
行名1 |  数値     数値   |   数値     数値     |     
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
行名2 |   数値    数値   |   数値     数値    |


 


このグラフは、
同じ月の要素1と要素2を比較するため、積み上げるものは、行名を使用し、横軸には、月日とその月日の要素1と要素2の積み上げ棒グラフを作成しています。
ですが、積み上げ棒チャートでは、要素1か要素2のどちらかしか指定できませんでした。
どなたか、月日とその月日の要素1と要素2の積み上げ棒グラフの作成の方法を教えてください。

Re: チャート・クロスタブ...  24x7 - 2008/06/02(Mon) 12:39 No.3781

製品付属のXtreme.mdbファイルで作成してみました。
年月を以下の式で作成します。
//年月
WhileReadingRecords;
Year({Orders.Order Date})&Month({Orders.Order Date})


チャートエキスパート画面から
変更時
@年月
Orders.Employee ID


表示する値
Orders.Order Amountの合計
Orders.Order ID の件数

チャートオプションのレイアウトから2重軸をチェックすることでX軸には2つの要素が表示できるはずです。ラベルは、右と左に分けて表示することになります。




 


QRコードの生成  エッジ - 2008/05/27(Tue) 11:37 No.3770

VB2005+バンドルのCrystal Reportsを使用してアプリケーションを作成しています。

QRコードの印刷はサードパーティ製のツールを組み込めば可能という事らしいのですが調べてみても海外の製品ばかり出てきてしまい手が出せずにいます。

もし実際にクリスタルレポートへQRコードを組み込んだ経験のある方、もしくは情報を持っておられる方がいらっしゃいましたらお勧めの方法をご教授下さい。

宜しくお願い致します。
Re: QRコードの生成  24x7 - 2008/05/27(Tue) 22:13 No.3772

お試し版で作成したQRコードの画像を貼り付けることはできたけど・・
プリンタドライバ経由で直接QRコードを印刷することは無理だと思います。

Re: QRコードの生成  エッジ - 2008/05/29(Thu) 09:50 No.3776

いろいろ探してみましたがクリスタルレポートではかなり無理があるようですね;

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

フィールドデータの印字について  ネコネコ - 2008/04/28(Mon) 14:29 No.3706

旧開発環境
 ・CrystalReport8  
 ・OSはWindows2000server
 ・ASP(VBScript)
 ・SQL Server2000

新開発環境
 ・CrystalReport11  
 ・OSはWindows2003serve
 ・ASP(VBScript)
 ・SQL Server8

旧環境で作成したレポートをそのまま
新環境で使用していますが、
以下の不具合が発生して悩んでいます。
全般的にみるとそのまま使えそうですが
可能な限り旧環境と同じ状況で出力したいと
考えているので、どなたかアドバイスしていただけますか?

 (1)表示されたフィールドデータの文字が表示幅を突き抜けて表示されてしまい、
  次の項目と文字が重ね打ちされてしまう。
   <例>  
   旧:|あいうえおかきく |
    ↓
   新:|あいうえおかき | く

 (2)上記状況を防ぐため、表示幅を極端に狭めると、従来のように途切れるが
  後半が空いているのに編集幅が少ないように感じられてしまう。
   <例>  
   旧:|あいうえおかきく |
    ↓
   新:|あいうえお    |

  (3)フィールドデータの印字が変なところで勝手に改行されてしまう。
   <例>  
   旧:|掲載日:2・6・10・13・18・20 |
      |・23・25・29・30                 | 
    ↓高さを2行分しかとっていなくて、"複数行"の設定"なし"にすると
   新:|掲載               |
      |日:2・6・10・13・18・20・23 | 
    ↓高さを2行分しかとっていなくて、"複数行"の設定"あり"にすると
   新:|掲載               |
      |日:2・6・10・13・18・20・23 | 
      |・25・29・30                   | 

 あれこれ書いてすみませんが、皆様の助言をお願い致します。     
Re: フィールドデータの印...  通りすがりのじじい - 2008/05/12(Mon) 05:47 No.3721

これはクリレポのバグですな。
比較的新しいクリレポ(おそらく10,11)のワードラップ機能は明らかにおかしなところがあります。
例えば、「掲載日」のところを全角で「けいさいび」とでもしてみてください。「び」の手前で改行されるでしょ?
掲載日の後ろをすべて全角にしてみてください。ちゃんとつながりませんか。

さらに、「掲載の日」とでもしてみてください。今度は、「掲」の後ろで改行されませんか?

要するに、連続する漢字かひらなが(全角)の途中で改行されるんです。

ま、こんなもんだと思って使うしかないかなーと思っています。根本的な解決方法があれば私も教えてもらいたいです。どなたかよろしくお願いいたします。
Re: フィールドデータの印...  24x7 - 2008/05/12(Mon) 22:00 No.3723

ワードラップは、USP10.DLL のバージョンの違いで出力結果が異なることがありますよ。過去の記事でも取り上げられていたと思いますが・・
Re: フィールドデータの印...  しげ - 2008/05/28(Wed) 17:36 No.3774

複数行"の設定"あり" で 最大行数に数字を入れれば、改行位置は安定したような気がします。
かならず、1行のフィールドでも 複数行"の設定"あり"+最大行数に1を入れるようにしています。

画像(EMF)をきれいに表示  CR Man - 2008/05/28(Wed) 17:21 No.3773

はじめまして。

現在、ベクターイメージ(拡張メタファイル)をフィールドに持つDataSetを利用して、クリスタルレポートで帳票を作成しています。
イメージ格納用フィールドのDataTypeはSystem.Byte[]として設定し、メタファイルをバイナリ配列で設定するようにしました。
設定したフィールドは、フィールドエクスプローラからレポートにD&DするとBLOBフィールドが作成され、イメージ表示領域を設定することができました。

作成したアプリケーションを動作させ、イメージを格納したDataSetをレポートとして表示させると、レポートのイメージ表示領域には確かにイメージが表示されるのですが、直線、文字がシャープに印刷されません。
DataSetからイメージを持ってこずに、Pictureオブジェクトでメタファイルをレポートに貼った場合にはきれいに表示が行われています。

DBからメタファイルを持ってきた場合でも、きれいにグラフィックを表示させる方法を知っいる方がいらっしゃいましたら良い方法をご教授下さい。

開発環境はVB2005バンドルのCrystal Reportsです。

オブジェクトの順番(前面、背面)に関して  abeabe - 2008/05/27(Tue) 19:16 No.3771

お世話になります。

現在、ASP.NETにて、クリスタルレポートを使い帳票を作成しております。
その際、クリレポ内のオブジェクト(ピクチャとテキストが混在)の位置を
プログラムで制御し、前面、背面をコントロールしたいと思っております。
(ピクチャとテキストは順不同でコントロール)
しかしながら、ピクチャとテキストが混在しているためか、うまくいきません。
HTMLのzindexのようなプロパティや、制御するコーディング方法などありましたら
教えて頂きたく思います。
尚、プログラムは、C#を使用しております。
宜しくお願い致します。


画像印刷  kei - 2008/05/09(Fri) 16:39 No.3717

連続投稿で恐縮です。どなたかご教授ください。
納品書に会社のロゴを印刷させたいのですがうまくいきません。
動作イメージは、ユーザーが画像を参照後、決定したものを、テキストとして
データベースに保存し、その情報をもとに印刷させたいのです。
デザイナを使用した場合は、オブジェクトが指定できたので以下のように実現
できたのですが。


Set obj = Me.SubRpt_ピクチャ1
Set obj.FormattedPicture = LoadPicture("c:\sample.jpg"))


RDC(CRAXDRT)を使用しVBで行いたいのです。過去ログを参照してみたのですが、
自分の知識では...
具体的にサンプルコードを記述してもらうと非常に助かるのですが、
質問ばかりで大変申し訳ありません。


VB6(SP5)、CR8

Re: 画像印刷  24x7 - 2008/05/12(Mon) 22:05 No.3724

メーカーサイトのサンプルコードを見てみたらどうですか。
http://support.businessobjects.com/communityCS/FilesAndUpdates/CR8_VB_RDC_LoadPic.exe.asp
Re: 画像印刷  kei - 2008/05/13(Tue) 09:31 No.3725

24x7さん、返信ありがとうございます。早速サンプルをダウンロードし確認してみたのですが、デザイナを使用したサンプルでした。今回の案件は過去にRDC(CRAXDRT)を用いたレポートに会社のロゴを印刷したいという内容ですので、サンプルのやり方ですと、大幅な変更を余儀なくされてしまうため藁をもつかむおもいで投稿した次第です。引き続きご教授お待ちしております。
Re: 画像印刷  24x7 - 2008/05/13(Tue) 12:25 No.3728

このサンプルで間違いないですよ。
このサンプルは、データ毎にイメージを動的に変更するものです。フォーマットイベントを利用してイメージを動的に変更するものです。
Re: 画像印刷  24x7 - 2008/05/13(Tue) 13:20 No.3729

LoadPicture は、フォーマットイベントで実行させるのではないでしょうか。
Re: 画像印刷  kei - 2008/05/14(Wed) 09:05 No.3732

24x7さん、当方の説明不足、知識不足で何度もすいません。
当方でやりたいことは、CRでMDBと連結させ、作成した納品書(nohin.RPT)を
VB6側では、MDBにデータをセットして、nouhin.RPTを表示させるというような
コーディングとなっており、今回はその既存の納品書に会社のロゴをユーザ側で
自由に選択し、大きさ、印刷位置を設定し印刷させたいのです。
実際には既存のプログラムは以下のようにコーディングされております。

Set Rpt = CrxApplication.OpenReport("c:\nouhin.rpt", 1)

以下、テーブルにデータをセットするコード
.....
.....

Rpt.PrintOut False    '印刷実行
この手法ですと、CRの式の値などはVB側で制御できるのですが、画像や、線などのオブジェクトに対して制御でいないのです。(当方が知らないだけかも...)

ご教授頂いたサンプルですと、CRデザイナを使用しているのでCRに張り付いている全てのオブジェクトを柔軟に制御できるのですが今回は既に稼働しているシステムに機能を追加するという案件ですのでデザイナによる印刷に変更するには大幅な変更となってしまうため困っているのです。
ご教授、ご指摘お待ちしております。
Re: 画像印刷  24x7 - 2008/05/14(Wed) 09:30 No.3733

レポートを修正しないで、実現することを考えているのでしょうか。その場合、実現はできませんよ。
Re: 画像印刷  kei - 2008/05/14(Wed) 10:48 No.3735

24x7さん、何度もありがとうございます。
できれば大幅な変更は避けたいなと考えていましたが、やはりCRデザイナの形式に変更しないと実現できないのですね。もう一度検討してみます。
何度も回答を頂いてありがとうございました。またおじゃますると思いますがそのときはよろしくお願いします。
Re: 画像印刷  24x7 - 2008/05/15(Thu) 05:29 No.3742

Crystal Reports XI では、以下のコード記述で任意に選択した画像をレポートにお表示させることはできます。
但し、レポートには画像を表示させるオブジェクトが挿入されていることが必要です。

Public WithEvents SecD As CRAXDRT.Section

Private Sub SecD_Format(ByVal pFormattingInfo As Object)

'任意に bmp ファイルを指定する

Report.Sections.Item("D").ReportObjects.Item(1).SetOleLocation ("C:\WINDOWS\フィッシング.bmp")

End End

既存のコードに上記のフォーマットイベントのルーチンを追加します。
上記コードでは、詳細セクションに画像を表示するオブジェクトを挿入しているので、「Report.Sections.Item("D")」と記述しています。
テストでは、1つのオブジェクトしか挿入していないので、「ReportObjects.Item(1)」と記述しています。

通常、複数オブジェクトが存在するのでインデックス値を+1で該当するオブジェクトを取得してから上記コードを実行するようにします。

質問内容からレポートには画像を表示するオブジェクトが存在しているようなので、画像を表示する場所(セクションとインデックス値)を取得できれば、可能じゃないでしょうか。


Re: 画像印刷  kei - 2008/05/16(Fri) 14:21 No.3745

24x7さん、ご丁寧にありがとうございます。CrystalReportXIとのことですが、当方バージョンが8なのですが問題ないですかね?
参考にいろいろためしてみます。
Re: 画像印刷  24x7 - 2008/05/16(Fri) 22:10 No.3746

バージョン8でもRDCのコード自体は同じはずなのですが、フォーマットイベントが使えるかどうかじゃないでしょうか。

Re: 画像印刷  24x7 - 2008/05/21(Wed) 07:45 No.3751

Crystal Reports 8 でもフォーマットイベントが動きました。
Re: 画像印刷  kei - 2008/05/21(Wed) 19:47 No.3755

24x7さん、たびたびありがとうございます。
参考に試行錯誤してなんとか形になりそうです。

Re: 画像印刷  24x7 - 2008/05/23(Fri) 21:22 No.3767

そりゃよかった。

クリスタルレポートのグラフでデータがない場合。  MekeMeke - 2008/05/21(Wed) 16:29 No.3754

VS2005 Oracle
クリスタルレポートでグラフを出力するとき、データがない場合、
データに1単位分表示されます。

データがない場合でも、1単位表示されるものなのでしょうか?
わかる方教えていただけないでしょうか?

Re: クリスタルレポートの...  24x7 - 2008/05/22(Thu) 12:39 No.3758

これだけじゃ、わかりませんね。データがなければ、表示されないはずですよ。

Re: クリスタルレポートの...  MekeMeke - 2008/05/22(Thu) 13:11 No.3760

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

データがない場合というのは、
取得したデータが0なのに、棒グラフでは表示されているので、
0の場合表示されなくなるようにはどうすればいいのかということです。

私の説明不足で申し訳ありません。

Re: クリスタルレポートの...  MekeMeke - 2008/05/22(Thu) 14:20 No.3761

お手数かけましてありがとうございました。

ふとしたきっかけで解決することができました。

単純な理由でした。
データセットのフィールドの型が文字列になっていました。
データセットのフィールドの型を数値型に変更すればできました。

一番最初に確認すればよかったです。

お手数かけました。
Re: クリスタルレポートの...  24x7 - 2008/05/23(Fri) 21:21 No.3766

それは、おめでとさんです。


外枠  茣蓙 - 2008/05/20(Tue) 15:48 No.3748

表で外枠が太くなっている帳票で最終行の線が太く出来ません
アンダーレイを使えばできるっぽい書込みは見かけたんですがやり方がさっぱりです

ページフッターの相対位置をチェックすれば出てくれそうな気がしたんですが反応無いしorz

Re: 外枠  24x7 - 2008/05/20(Tue) 23:43 No.3750

最終行の線とはどこのことですか?

Re: 外枠  茣蓙 - 2008/05/21(Wed) 08:57 No.3752

表の外枠なので最終行の下線です

Re: 外枠  24x7 - 2008/05/22(Thu) 12:33 No.3756

外枠と最終行の下線は、重なっているわけじゃないというこですか
Re: 外枠  24x7 - 2008/05/22(Thu) 12:36 No.3757

「下線」とは、フィールドの境界線のことですか。その場合、太くはできないでしょう。

Re: 外枠  茣蓙 - 2008/05/22(Thu) 13:08 No.3759

すみません、書き方が良くありませんでした。

ページヘッダーの上部に太い線
ページヘッダーに表の見出し
ページヘッダーの下部に細い線を2本
詳細に表のデータ
詳細の下部に細い線

という感じで現在レイアウトを作成しました
この状態で出力を行うと詳細の最終明細行の下線が細いのでそこだけ太くしたいのです

分かりにくくてすみませんorz

Re: 外枠  24x7 - 2008/05/23(Fri) 00:31 No.3762

なるほど、最終データを表示後の罫線を太くしたい方法ですね。
この場合、他の掲示板でも取り上げられていますが、いくつか実現方法があると思います。
詳細セクションのデザイン内容が見えませんが、簡単な方法としては、詳細セクションを3つに分けます。
詳細a には、表示する項目を挿入する
詳細b には、細い罫線を挿入する
詳細c には、太い罫線を挿入する

セクションエキスパートから「詳細b」の非表示の条件式に以下の式を挿入する
//最終データ?
WhilePrintingRecords;
OnLastRecord

詳細b には、最終データ以外は、細い線が表示される

「詳細c」の非表示の条件式に以下の式を挿入する
//最終データでない?
WhilePrintingRecords;
Not OnLastRecord

詳細c には、最終データのみ、太い線が表示される

それ以外の方法としては、細い線と太い線の上にオブジェクトを重ねて、上記のような条件式で表示/非表示の切り換えすることが考えられます。



Re: 外枠  茣蓙 - 2008/05/23(Fri) 10:57 No.3763

おお、ありがとうございます。
条件式のエディタは何度か立ち上げたんですが関数のリファレンス等が見当たらなかったので食わず嫌いしていました。

いろいろ試して見た結果、太い線の詳細エリアは以下のような条件式に落ち着きました。(1ページ10行の場合)

===================================================
//ページ(またはデータ)の最終行の場合False(表示)
//それ以外はTrue(非表示)
WhilePrintingRecords;
if OnLastRecord then
    false
else
    if (RecordNumber mod 10) > 0 then
        true
    else
        false;
===================================================

どうもありがとうございます!
Re: 外枠  24x7 - 2008/05/23(Fri) 21:21 No.3765

それはよかった。


フリーズしてしまう  kei - 2008/05/09(Fri) 13:22 No.3716

はじめまして。keiと申します。
早速ですが、VB6、CR8で開発したアプリをXP環境で実行していますが、
まれに、印刷を実行したあと、レコードの出力の画面で止まってしまったり
印刷ジョブが消滅してしまったりと、誤動作するケースが発生して困っています。
そうなると、PCを再起動しない限り印刷できません。
PCのリカバリや、再セットアップ、プリンタドライバの更新などしてみましたが
改善されません。どなたか改善策をご教授願えませんでしょうか。
Re: フリーズしてしまう  24x7 - 2008/05/20(Tue) 22:02 No.3749

もう少し、どんな方法でアプリケーションを書いているか説明しないと現象だけ説明されてもわかりませんよ。


クリスタルレポートで  けん - 2008/05/14(Wed) 13:05 No.3736

VB6でクリスタルレポートVer11を使用しております。

Set Report = Report1

Report.PrintOut False

Set Report = Nothing

で印刷実行していますが、1度目はうまくいき、
2度目以降、Report.PrintOut Falseで以下のメッセージが表示され、
VBが強制終了してしまいます。

オートメーション エラーです。
起動されたオブジェクトはクライアントから切断されました。

どのような原因があるのでしょうか?
Re: クリスタルレポートで  24x7 - 2008/05/14(Wed) 13:13 No.3737

コード記述は正しいですか?
Re: クリスタルレポートで  けん - 2008/05/14(Wed) 13:33 No.3738

問題ないと思います。

Set Report = Report1

CRViewer1.ReportSource = Report
CRViewer1.ViewReport
        
'//クリスタルレポート印刷
Report.PrintOut False
       
Set Report = Nothing


VB上で1行1行デバッグでゆっくりやると、なぜかうまくいきます。
F5で一気に動作させると、この現象になっています。
Re: クリスタルレポートで  24x7 - 2008/05/14(Wed) 13:41 No.3739

Set Report = Report1 は何をしているんですか?


Dim crApp As New CRAXDRT.Application
Dim Report As CRAXDRT.Report

Set Report = crApp.OpenReport("C:\report.rpt",1)

というような記述になるのではないですか。
Re: クリスタルレポートで  けん - 2008/05/14(Wed) 13:51 No.3740

Report1というのは、
Dim Report1     As New CR_Cyuumonzan1_Eigyotantobetu
と宣言しており、
このCR_Cyuumonzan1_Eigyotantobetuは、デザイナモジュールに組み込んでいます。

また、CR_Cyuumonzan1_Eigyotantobetuは拡張子が「.prt」ではなく、「.dsr」です。
Re: クリスタルレポートで  24x7 - 2008/05/14(Wed) 20:51 No.3741

DSR ファイルなら、
Set Report = Report1 は、不要でしょう。

ページヘッダーの非表示について  DNJ - 2008/05/13(Tue) 11:51 No.3726

はじめまして。DNJと申します。

VB2005+バンドルのCrystal Reportsを使用してアプリケーションを作成しています。

グループごとの合計とページごとの累計をとっているのですが、
グループフッターが表示されている時(グループの合計が出力されている時)はページフッターが不要になります。
その為、グループフッターが表示されてる時はページフッターを非表示にしたいと考えているのですが
なかなかうまくいきません…

過去ログ等を拝見して最終ページならページフッター非表示という項目はいくつか見かけたのですが、
グループの最終ページを取得する事はやはり出来ないものなのでしょうか?

心当たりのある方がいらっしゃいましたらご教授下さい。
Re: ページヘッダーの非表...  24x7 - 2008/05/13(Tue) 12:21 No.3727

グループフッターを表示するときは、同一グループ内の最後のデータを表示してからですよね。その次のデータは、異なるグループに属するものです。
そこで、以下の式をページフッターの非表示の条件式に挿入してみてください。

WhilePrintingRecords;
{グループで利用している項目}<>Next{グループで利用している項目}
Re: ページヘッダーの非表...  DNJ - 2008/05/13(Tue) 17:55 No.3730

24x7様 早速の返信ありがとうございます!

>WhilePrintingRecords;
>{グループで利用している項目}<>Next{グループで利用している項目}

教えて頂いた式を試してみましたが全てのページの累計が消えてしまいました;
引き続き試行錯誤してみたいと思います。
Re: ページヘッダーの非表...  24x7 - 2008/05/14(Wed) 00:05 No.3731

失礼しました。
条件が不足していました。フラグ制御を追加します。
グループフッターが表示されたページであることが判断できるようにします。
例えば、グループヘッダーとグループフッターに式フィールドを挿入します。
//グループヘッダー
WhilePrinitingRecords;
BooleanVar GF_Supress:=False 

//グループフッター
WhilePrinitingRecords;
BooleanVar GF_Supress:=True 

そして、ページフッターには、以下の式に置き換えます。

WhilePrintingRecords;
BooleanVar GF_Supress;
GF_Supress =True AND {グループで利用している項目}<>Next{グループで利用している項目}

他にもグループフッターが表示されているページであることが判別できるものがあれば、それを使ってみてください。

Re: ページヘッダーの非表...  DNJ - 2008/05/14(Wed) 09:57 No.3734

24x7様

丁寧にサンプルまでご用意頂きましてありがとうございます。

頂いたヒントから考え直してみました。

調べたところセクションエキスパートのグループフッターで
出力後にページ番号をリセットにチェックを入れることで
グループごとにページ番号を取得できる事が解ったので、
あとはページフッターの非表示条件に以下の式を追加する事でうまくいきました。

//ページフッター
WhilePrintingRecords;
PageNumber = TotalPageCount

お付き合いくださいましてありがとうございます。
大変勉強になりました!!

rptファイルのストリーム化でのエラー  wiwi - 2008/05/09(Fri) 20:41 No.3720

画面ASPで内部処理がC#のWEBシステムを作っています。
環境:WINDOWS XP SP2、フレームワーク1.1  VisualStudio2003  CrystalReport Ver9.9800(VisualStudio2003に入っていたもの)
     IE6.0  システムに必要なDLLは参照しています。


目的:クリスタルレポートをPDFに変換してファイルとして出力したい。
デバック時に「st = crReportDocument.FormatEngine.ExportToStream(req);」
をステップ実行した時に下記エラーが発生します

ファイル C:\DOCUME~1\【コンピュータ名】\ASPNET\LOCALS~1\Temp\temp_54155b28-2d28-4cd3-87ce-e447ee438d03.rpt のエラー : この操作はサポートされていません。
説明 : 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。


(スタックトレース)
NotSupportedException: ファイル C:\DOCUME~1\【コンピュータ名】\ASPNET\LOCALS~1\Temp\temp_54155b28-2d28-4cd3-87ce-e447ee438d03.rpt のエラー :
この操作はサポートされていません。]
   .A(Int16 , Int32 )
   .@(Int16 )
   CrystalDecisions.CrystalReports.Engine.FormatEngine.Export(ExportRequestContext reqContext)
   CrystalDecisions.CrystalReports.Engine.FormatEngine.Export()
   CrystalDecisions.CrystalReports.Engine.ReportDocument.Export()
   【システム名】.src.NE3103PR.NE3103PRV.Page_Load(Object sender, EventArgs e) in c:\【システム名】\src\ne3103pr\ne3103prv.aspx.cs:147
   System.Web.UI.Control.OnLoad(EventArgs e)
   System.Web.UI.Control.LoadRecursive()
   System.Web.UI.Page.ProcessRequestMain()



原因がわからず作業が止まっています。解決策をご存知の方教えて頂けませんでしょうか。お願いします。


 //////////////////////
 変数:crReportDocument
 型:ReportDocument 
 //////////////////////
 //下記、crReportDocumentにデータセットした後の動きです。
 
 
 ExportOptions opt = new ExportOptions();
 
 opt.ExportFormatType = ExportFormatType.PortableDocFormat;
 opt.FormatOptions = new PdfRtfWordFormatOptions();
 
 ExportRequestContext req = new ExportRequestContext();
 req.ExportInfo = opt;
 
 System.IO.Stream st;
 ↓↓↓↓↓↓↓↓↓↓ここで落ちる↓↓↓↓↓↓↓↓↓↓↓
 st = crReportDocument.FormatEngine.ExportToStream(req);
 
 //以下動作未確認 
 byte[] b = new byte [st.Length];
 st.Read(b, 0, (int)st.Length);


 System.IO.FileStream fs = new System.IO.FileStream("c:\aaa.pdf",System.IO.FileMode.CreateNew);
 fs.Write(b,0,b.Length);


積算合計  vuurput - 2008/05/09(Fri) 00:07 No.3715

すみません、ちょっとご教示ください。初心者です。
積算合計フィールドをページフッターとページヘッダーに付けたいと思います。ページフッターの積算合計フィールドはこの時点までのサブトータルを表し、ページヘッダーの積算合計フィールドは前ページからの繰越を表します。ここで、ページフッターの方はなんとかうまくいきましたが、ページヘッダーのほうでは該当ページの最初のレコードの値を加算したものが表示されてしまいます。MSDNの記述(http://msdn.microsoft.com/ja-jp/library/ms227117.aspx)によるとこれはクリスタルレポートの仕様のようです。そこで、「前のページまでの積算合計」をどうにかしてページヘッダーに表示しようとしていろいろやってみましたが、どうもうまくいきません。何かよい方法はないものでしょうか。
Re: 積算合計  vuurput - 2008/05/09(Fri) 18:17 No.3718

次のような式を使って解決しました。

if IsNull ({PRNDATA.pdt_data}) then
{#RTotal0}  - {@numNetto}
else
{#RTotal0}


{@numNetto は {PRNDATA.pdt_data} に含まれている値を別の式で加工したものです。)
案外単純でしたが、クリスタルレポートは初めてで何が何やらわからず失礼しました。

Re: 積算合計  vuurput - 2008/05/09(Fri) 19:05 No.3719

すみません。上の式に間違いがありました。最終的に次の式で解決しました。

if 0<Length ({@d8_nettoVv}) then
{#RTotal0} - {@numNetto}
else
{#RTotal0}

{@d8_nettoVv} は {PRNDATA.pdt_data} (この式の中では参照されていません)に含まれる値(数値をあらわす文字列)で、{@numNetto} は {@d8_nettoVv} を数値に変換したものです。


助けてください。デザイナーでの誤作動  ガッツいちもつ - 2008/04/29(Tue) 19:06 No.3708

クリスタルレポートで複数のオブジェクトのコピー&ペーストの
方法を教えて下さい。
 以上現象として罫線とテキストを含む複数オブジェクトの
コピーが&ペーストができなかったり、一部のオブジェクトしか
ペーストできなかったりしています。ハードディスク、メモリ
増設も行ったのですが異常現象が改善されません。
なにか方法はないのでしょうか。

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