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

PDF出力について  かおる - 2005/05/12(Thu) 12:00 No.652

私は今CR10+VB6で開発をしています。
CRよりPDFとしてファイル出力したいのですが、
どのようなAPIを使用して良いかわかりません。
どなたか教えていただけないでしょうか?
よろしくお願いします。
Re: PDF出力について  Kimberly - 2005/05/12(Thu) 22:50 No.653

かおる様

Crystal Reports 10 なら、Report Designer Component(RDC)でしょう。
レポートの表示が不要なら、コードから直接以下のコードでPDFファイルに出力することができます。
(記述例)
Dim Report As CRAXDRT.Report
Dim ExportOpt As CRAXDRT.ExportOptions

・・ 省略 ・・

Set ExportOpt = Report.ExportOptions
With ExportOpt
     .FormatType = crEFTPortableDocFormat
     .DestinationType = crEDTDiskFile
    .DiskFileName = "c:\test.pdf"
End With
'エクスポートの実行
Report.Export False
Re: PDF出力について  かおる - 2005/05/13(Fri) 20:11 No.658

Kimberly様

回答ありがとうございます。
早速試してみます。
Re: PDF出力について  かおる - 2005/05/16(Mon) 20:49 No.676

試してみたところ、

Dim Report As CRAXDRT.Report

の行で「コンパイルエラー ユーザ定義型は定義されていません」というエラーが出てしまいます。定義の仕方がわからないのでどなたか教えてください。
よろしくお願いいたします。
Re: PDF出力について  Kimberly - 2005/05/16(Mon) 23:18 No.677

かおる様

プロジェクトメニューの参照設定から"Crystal Reports ActiveX Designer Run time Library 10.0"をチェックされていますか。ファイル名は、CRAXDRT.DLLです。
Re: PDF出力について  かおる - 2005/05/19(Thu) 08:34 No.692

Kimberly様

プロジェクトメニューの参照設定から"Crystal Reports ActiveX Designer Run time Library 10.0"をチェックしたことでエラーは消え、PDF出力ができるようになりました。ご丁寧に回答していただき誠にありがとうございました。


計算  信也 - 2005/05/13(Fri) 17:05 No.656

日付単位で集計した数量1と数量2があります。
ここで迷っているのが、日付単位で集計した数量1と数量2を差し引いた数量3を取得するには、どうすればよろしいでしょうか?
どうかよろしくお願いします。

クリスタルレポートVer:9
OS:XP

Re: 計算  Kimberly - 2005/05/14(Sat) 01:21 No.661

信也様

数量1と数量2がどのような方法で集計されたかわからないので・・
例えば、日付でグループされていれば、以下の式で取得できると思います。
WhilePrintingRecords;
Sum({xxx.数値1},{xxx.日付}) - Sum({xxx.数値2},{xxx.日付})
この式フィールドをグループヘッダーあるいは、フッターに挿入します。
Re: 計算  信也 - 2005/05/16(Mon) 10:03 No.670

","で区切ればよかったのですね。
実際に試してみたらうまくいきました。

ありがとうございました。
またわからないころがありましたら、よろしくお願いします。
複数のグループ計算  信也 - 2005/05/17(Tue) 12:04 No.678

前回のは、グループ1に対しての集計ですが、
今回お聞きしたいのは、グループ2の集計を行うにはどうすればよろしいのですか?

Sum({xxx.数値1},グループ1) ← これだと、グループ1に対しての集計
Sum({xxx.数値1}, グループ1, グループ2) とやると、"ここにはグループ条件を入力できません"というエラーメッセージが出ます。

グループ2を集計する場合は、どうすればよいか教えてください

Re: 計算  Kimberly - 2005/05/17(Tue) 14:42 No.679

信也様

グループ2も同様です。
Sum({xxx.数値1},  グループ2)
但し、挿入するセクションを間違えると正しい結果になりません。
Re: 計算  信也 - 2005/05/17(Tue) 15:18 No.681

>Sum({xxx.数値1},  グループ2)

これでグループ2の集計が出来るんですか。
グループ2のセクション内の所で集計を行えば、
グループ2の集計が出来るという事ですよね?
Re: 計算  Kimberly - 2005/05/17(Tue) 16:00 No.682

信也様

はい、そうです。
Re: 計算  信也 - 2005/05/18(Wed) 09:52 No.688

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



画面の項目値転送  ひで - 2005/05/13(Fri) 14:44 No.654

現在、CR10 + VB6で開発を行っていますが、
VBで作成した画面の値をCRに転送し、
帳票上に出力したい場合、どのような方法で行えばよろしいでしょうか?
まだまだCRの経験不足で申し訳ありませんが、
ご存知の方がいましたら、ご教授を宜しくお願い致します。
Re: 画面の項目値転送  Kimberly - 2005/05/14(Sat) 00:56 No.659

ひで様

VB画面から入力した値をどのような目的でレポートで利用するかで実現方法が異なってくると思います。
Report Designer Component(RDC)を利用すると思いますが、レポートのパラメータやテキストオブジェクトで利用するならそんなに難しいことはないと思います。
また、入力値をデータベースと同様な扱いでレポートに表示する場合、Crystal Data Object(CDO)を利用することで可能です。
Re: 画面の項目値転送  ひで - 2005/05/17(Tue) 16:12 No.683

Kimberly様、ご返事が遅くなり大変申し訳ありませんでした。
適切なご回答を誠にありがとうございました。
小耳で、CR8ではクリスタルレポートオブジェクトの
Formulasメソッドでできるというお話を聞きました。
例)
 CrystalReport.Formulas(0)="text='テスト'"
しかし、CR10ではFormulasメソッドがなくて、未だに困っております。
ご存知でしたらご教授を宜しくお願い致します。

Re: 画面の項目値転送  Kimberly - 2005/05/17(Tue) 22:39 No.684

ひで様

>例)
> CrystalReport.Formulas(0)="text='テスト'

は、OCX(CRYSTL32.OCX)を利用した開発方法で、Crystal Reports 10 ではサポートされておりません。そのため、RDC(CRAXDRT.DLL)を利用する記述になります。また、式フィールドでなく、テキストオブジェクトに文字列を挿入することも可能です。

(記述例)
'式フィールド
Dim i As Integer
For i = 1 To Report.FormulaFields.Count
    If Report.FormulaFields.Item(i).FormulaFieldName = "式フィールド名" Then
        Report.FormulaFields.Item(i).Text = "'" & Text1.Text & "'"
    End If
Next i

'テキストオブジェクト
Dim CRTextField As CRAXDRT.TextObject
Dim i As Integer

'レポートヘッダーの中のテキストオブジェクトの処理
For i = 1 To Report.Sections.Item("RH").ReportObjects.Count
'テキストオブジェクト?
If Report.Sections.Item("RH").ReportObjects.Item(i) = crTextObject Then
 Set CRTextField = Report.Sections.Item("RH").ReportObjects.Item(i)
   If CRTextField.Name = "テキスト1" Then
     CRTextField.SetText Text1.Text
     CRTextField.TextColor = vbBlue
     CRTextField.Font.Size = 10
     CRTextField.Font.Name = "MS Pゴシック"
   End If
End If

Re: 画面の項目値転送  ひで - 2005/05/18(Wed) 08:57 No.687

Kimberly様、貴重なご意見、誠にありがとうございました。
上記方法(今回は式フィールド)でうまくいきました。
私がやろうとしていたのはOCXを利用したやり方だったのですね。
いい勉強になりました。
CRでの開発はまだまだ続き、その中で不明点が発生してくると
思うので、その時は申し訳ありませんが、宜しくお願い致します。

既存レポートへのフィールドの追加  福井 - 2005/05/14(Sat) 20:52 No.663

度々起こって困っている問題があります。
ちゃんとしたマニュアルでもあればすぐに解りそうな問題なのですが…。
環境はVB.Net+それに付随するCrystalReportsです。

既存のレポートにフィールドを追加しようとしています。
このレポートがどういう手順で作られたかはすみません、不明です。
DBは介さず、同じプロジェクト中のDataSet(xsd)を介しています。
このDatasetのElementにフィールドを追加し、デザイナ側でテーブルの照合までできました。
式の編集で表示されるElement内のフィールドの中にも見えています。

が、挿入したいDetailに対して出力項目として挿入しようとしてもできません。
右クリックで挿入を選んでも「フィールド」が入力不可状態です。

どうすれば追加できるでしょうか。
レポートエキスパートをやりなおしてしまうと、また再配置のしなおしその他になりますよね。これは避けたいんです。もう、何度も調整が入った末のレイアウトなので、作り直し中における現在の内容の移植時の反映漏れによる不具合は出すわけには行かないところです。

どうにかならんもんでしょうか?
Re: 既存レポートへのフィ...  さかもと - 2005/05/16(Mon) 17:28 No.675

さかもとです。
多分,ソリューション毎再起動すればちゃんと追加できると思います。
何故そうなるかは不明ですけど・・・・。

プレビュー表示について  yuki - 2005/05/07(Sat) 18:20 No.639

はじめまして。

私はVB+Crystal Report+Oracleでシステムを開発しています。
Crystal reportのプレビューを表示するフォームを作成し、
作成したレポートを表示したいのですが、
サーバはまだ開かれていません。
と、データベースエラーが出てしまいます。

どなたか、原因がわかる方は教えて頂けないでしょうか?
Re: プレビュー表示について  Kimberly - 2005/05/09(Mon) 23:38 No.643

yuki様

データベースの接続処理が行われていないのではないでしょうか。
レポートをデザインしたときにデータベースのログイン情報はセットしたと思いますが、それと同じことをコード上でも行わないとデータベースには接続することができません。
Re: プレビュー表示について  yuki - 2005/05/11(Wed) 22:14 No.649

Kimberly様

回答していただき、ありがとう御座います。
デザイン上でセットしていましたが、コードでセットするということをしていませんでした。
具体的にどのようにコードで書いたらよいか教えて頂けないでしょうか?
よろしくお願いします。
Re: プレビュー表示について  Kimberly - 2005/05/11(Wed) 22:29 No.650

yuki様

Crystal Reports のバージョンと利用している開発コンポーネントがわからないのですが・・
Crystal Report 9以降でReport Designer Component(CRAXDRT.DLL)を利用した場合は、以下のような記述になります。
(記述例)
For i = 1 To Report.Database.Tables.Count   
    Report.Database.Tables.Item(i).ConnectionProperties.Item("Server") = "Oracle サービス名"
    Report.Database.Tables.Item(i).ConnectionProperties.Item("User Id") = "UserID"
    Report.Database.Tables.Item(i).ConnectionProperties.Item("Password") = "Password"   
Next i

Report は、Report オブジェクトです。
Re: プレビュー表示について  yuki - 2005/05/14(Sat) 11:55 No.662

Kimberly様

回答していただき、ありがとう御座います。
Crystal Reportのバージョンは8.5です。コンポーネントはcraxdui.dllを
使用しています。
同じように書いてみたのですが、ConnectionPropertiesがなくて
出来ません。
記述方法を教えていただけないでしょうか?
お願いします。
Re: プレビュー表示について  Kimberly - 2005/05/15(Sun) 10:56 No.664

yuki様

craxdui.dll ですか、間違いではありませんか。
craxdui.dll は、開発コンポーネントでなく、VBプロジェクト内で利用できるCrystal Reports デザイナのコンポーネントです。ということは、RPTファイルでなく、DSRファイルを利用しているわけですね。
この場合も、利用する開発コンポーネントは、CRAXDRT.DLLになります。
バージョン9とは、データベースの接続のコードが少し違います。
 
(記述例)
'この部分は、デザイン時に自動生成されていると思います。
Dim Report As New CrystalReport1
'テーブル数分ループする。
For i = 1 To Report.Database.Tables.Count   
   Report.Database.Tables(i).SetLogOnInfo "Server", "database", "uid", "pw"     Next i

以下のリンクのコードを参照しました。
http://support.businessobjects.com/library/kbase/articles/c2014062.asp
Re: プレビュー表示について  yuki - 2005/05/15(Sun) 16:57 No.665

Kimberly様

回答していただき、ありがとう御座います。
何分知識が足りなくて、申し訳ありません。

お一つお聞きしたいのですが、
クリスタルレポートにデータベースを追加する際に、
DataEnvironmentを指定せずにODBC接続のデータベースを
指定しても出来るのでしょうか?

質問がおかしい場合は申し訳ありません。

以上です。
よろしくお願い致します。
Re: プレビュー表示について  Kimberly - 2005/05/15(Sun) 23:53 No.667

yuki様

DataEnvironmentを利用しなくてもODBC接続はできます。
予めODBCデータソースの定義をして、そのODBCデータソース名を利用して
レポートのデザインとコード記述すれば問題ないと思います。
(記述例)
Report.Database.Tables(i).SetLogOnInfo "ODBCデータソース名", "", "ユーザー名", "パスワード" 

第2パラメータは省略しても問題なかったと思います。
Re: プレビュー表示について  yuki - 2005/05/16(Mon) 10:08 No.671

Kimberly様

回答して頂きありがとうございます。
Crystal ReportでOracle接続の件ですが、解決出来ました。
ご丁寧に説明ありがとうございました。

また、わからないことがありましたら質問するかもしれませんが、
その時はよろしくお願い致します。
本当にありがとうございました。

詳細部の1行目の判断  あおだいじん - 2005/05/09(Mon) 19:36 No.642

はじめまして。
早速ですが質問があります。

現在、MDBにあるデータをクリスタルレポートで印刷するものを作成しています。
以下のようなデータ

項目@ 項目A 項目B
----------------------
AAA  BBB  1000
AAA  BBB  2000
AAA  BBB  3000
CCC  DDD  1000
CCC  DDD  2000
CCC  DDD  3000

以下のように出力しています。

項目@ 項目A 項目B
----------------------
AAA  BBB  1000
          2000
          3000
CCC  DDD  1000
           2000
           3000

ここで、例えば5行目を出力したあとに改ページされた際に、次のページで、
6行目を出力した際に項目@、項目Aを表示するようにしたいのですが、
上手くいきませんでした。何か良い方法がございましたら、ご教授ください。

環境は、CrystalReport9.0、Win2000です。
よろしくお願いします。
Re: 詳細部の1行目の判断  Kimberly - 2005/05/09(Mon) 23:44 No.644

あおだいじん様

項目@〜項目Bは、ページヘッダーに挿入されている場合、改ページが発生すれば問題なく表示されると思いますが・・ページヘッダー以外ということでしょうか。
例えば、グループヘッダーに挿入されている場合、グループの「ページごとにグループヘッダーの出力」オプションをチェックすることでそのグループヘッダーを改ページ後も表示することができます。
Re: 詳細部の1行目の判断  あおだいじん - 2005/05/10(Tue) 17:57 No.645

Kimberly様

早速のご回答ありがとうございました。
ページヘッダーやグループヘッダーでは無く詳細部で行いたいのですが
良い方法はありますでしょうか?
詳細部の1行目を判断できれば可能だと思うのですが、方法を見つけられず
苦戦しております。

Re: 詳細部の1行目の判断  Kimberly - 2005/05/11(Wed) 07:54 No.646

あおだいじん様

項目@〜項目Bも詳細で表示するとレコード件数と同一件数が表示されると思いますので、どのように表示イメージを実現しているかわかりません。
ただ、改ページ後の詳細セクションの1レコード目を判断する方法として、
こんな感じではどうでしょう。

ページヘッダーに以下の式フィールドを挿入します。
WhilePrintingRecords;
NumberVar PGCount :=0;

詳細セクションに以下の式フィールドを挿入します。
WhilePrintingRecords;
NumberVar PGCount;
PGCount := PGCount + 1;

詳細セクションに挿入している項目@〜項目Bの書式エディタの「非表示」の条件式に以下の式を挿入します。「非表示」のチェックは不要です。
WhilePrintingRecords;
NumberVar PGCount
PGCount <> 1

この結果、詳細セクションに項目@〜項目Bとデータフィールドが挿入されていれば、改ページ後、最初のレコードのみ項目名が表示されると思います。

ページヘッダーと詳細セクションに挿入した式フィールドは、レポートの表示に不要なフィールドなので「非表示」にチェックします。
Re: 詳細部の1行目の判断  あおだいじん - 2005/05/13(Fri) 15:08 No.655

Kimberly様

ありがとうございました!!
教えていただいた通りにやってみましたら、出来ました。
とても困っていたので、助かりました。
本当にありがとうございました!!


サブレポートの指定  エレガ - 2005/05/11(Wed) 17:00 No.648

VB.Netでサブレポートをコードで指定する事は出来ますか?
(サブレポートに使うレポート名をコードで指定するという意味です。)

コードで記述するとリンクを設定できないから無理かな・・・?
リンクを設定ができなくても構いませんので、方法があれば教えてください。

(帳票を作成するのにタイトル等の場所が同じの為、タイトルのレポートを1つ用意して、そこからサブレポートで詳細用のレポートを呼び出せたら・・・と考えています。
表示は詳細だけにして、印刷はタイトル、詳細が出るように出来ればレポートの数が少なくて出来ると考えています。)

サイズ  917 - 2005/04/26(Tue) 15:12 No.624

.Netに付属しているクリスタルレポートで用紙サイズをA3→A4に出来るでしょうか?

Re: サイズ  Kimberly - 2005/05/01(Sun) 01:06 No.637

917様

縮小印刷の意味でしたら、Crystal Reports の機能では縮小印刷がないのでプリンタの機能に依存すると思います。
Re: サイズ  917 - 2005/05/11(Wed) 16:46 No.647

やはりそういうことになるのですね。
自分のPCでプリンタをA3→A4に縮小印刷するようにしてもらわないとダメなのですね。
どうもありがとうございました

CR8の条件式にあるフォント名の変更  W048 - 2005/05/09(Mon) 11:48 No.641

はじめまして。
CR8のRPTにある条件式に次のフォント名が記述されていますが、CR9はこれを認識してくれないので、RDCでユーティリティを作成し、フォント名の一括変更をしようとしています。

 MS ゴシック (日本語)
    ↓
 MS ゴシック

CR9のRDCでは問題なくできましたが、CR8のRPTも修正したいのですが、CR8のRDCでも、条件式にあるフォント名の変更はできるでしょうか?(CR9用のコードで試してみますと、ConditionFomularメソッドがないようです)
何方かその方法を教えて頂けないでしょうか。
よろしくお願いします。

エクセル出力について  いくみ - 2005/05/09(Mon) 11:30 No.640

はじめまての投稿です。よろしくお願いします。

現在、クリレポを使用し開発していますが、
ここでエクセル出力機能があります。
ファイル名、シート名を固定で出力したいのですが、
ヘルプ等を見てもわかりませんでした。
どなたかご存知の方がいましたら教えて頂けないでしょうか?

尚、環境は以下の通りです。
OS:Windows2000(Pro)
DB:SQL Server2000
VB6.0
クリスタルレポート10
エクセル2000

以上、よろしくお願いします。

CSVファイルを読み込んで印刷したい  京子 - 2005/04/29(Fri) 11:38 No.634

こんにちわ。
CrystalReport9を使用しています。
2つ質問があります。

まず1つめは
CSVファイルをMicrosoftTextDriver経由でクリスタルレポートに読みこんで印刷したいと考えています。
項目数がかなり多い帳票もあるのですが、ODBCドライバが255項目までしか読めません。 そこでCSVファイルを二つに分割して読み込ませようとしたのですが、テーブルを追加すると、「例外 ハンドルされていないWin32の例外が発生しました」というメッセージが出て、クリスタルレポートが落ちてしまいます・・・

2つめは
CSVファイルの1つの項目に画像ファイルのパスとファイル名を持たせているのですが、そのファイルを読んで画像を表示させるということは可能でしょうか?

なにかいい方法はないでしょうか

よろしくお願いします。
自己レスです  京子 - 2005/04/29(Fri) 11:54 No.635

すいません
1つめの件は解決しました。
データベースエキスパートでデータベースを選択した後、リンクをはり忘れていました。単純なことですいません。

2つ目の画像の件は引き続きお願いします。
Re: CSVファイルを読み込・..  Kimberly - 2005/05/01(Sun) 01:02 No.636

京子様

CSVファイルにある画像ファイルのパスとファイル名を利用してレポートに表示する件ですが、デザイナからではできません。
コード記述なら、LoadPicture関数を利用することで可能です。
VBなら製品版にサンプルコードがあります。

テキストオブジェクトの均等割付  ぴよ - 2005/04/27(Wed) 00:08 No.632

はじめまして。

環境 C#/Crystal Reports for Visual Studio .NET

確かにFAQ風記載の通り
 テキストオブジェクトのHorAlignmentをcrJustifiedに設定しただけでは
均等割付になりませんね・・・。

 ここで、あえて無理やり割付したように見せる方法
割り付けたい文字「XXXX」の後ろに、空白を割り付けたい幅分挿入
 さらに、幅を超えるようになにかの文字列「a」とかを挿入
※この時、少し幅を広げてやる必要がありますね。
 そののち、元の幅に戻すと・・・なにやら、均等割付で表示されます。

後ろの「a」は・・・どこかへ・・。

 かなり、無理やりです。

これ以外の方法をご存知の方、ご教授ください。

グループデータの表示位置について  どむ - 2005/04/26(Tue) 18:03 No.627

またグループに関しての質問です。宜しくお願いします。
グループに複数のフィールドがあります。
最後のフィールドのデータだけを 別な行(グループ内のデータの最後の行)に表示する事はできますか?

県名、市名、区名、タイプがグループで詳細が区以下の住所データを下記の用に表示するイメージです。
タイプをグループ内の最後のデータと同じ行に表示したいのです。

県名        市名      区名     住所                      タイプ



北海道    帯広市    aa区     aa町1-1-1
                                       bb町1-1-1
                                       cc町1-1-1            TYPE-01
北海道    帯広市   bb区      dd町1-1-1-101
                                       ee町1-1-1-101     TYPE-02
Re: グループデータの表示...  Kimberly - 2005/04/26(Tue) 22:48 No.629

どむ様

この場合、「タイプ」フィールドの「非表示」の条件式に以下の内容を挿入します。
「非表示」の項目のチェックは要りませんよ。

WhilePrintingRecords;
{xxx.区名} = Next({xxx.区名})

これは、グループ内で最後のデータであるか判断する式を挿入しています。
今、処理しているレコードと次のレコードの値が一致している場合、同一グループ内のデータがであると判断できます。値が異なれば、今、処理しているレコードがそのグループ内で最後のデータというわけです。
Re: グループデータの表示...  どむ - 2005/04/26(Tue) 23:23 No.631

Kimberly様

またまた教えていただいてありがとうございます!!
教えていただいた手順で出来ましたぁ!!
本当にありがとうございました。

フリーズ  いってつ - 2005/04/22(Fri) 11:13 No.614

はじめまして。
VB6とクリレポ8のOCXを使っています。
windows2003上で実行した際、「レコードの出力」画面でフリーズする
現象が出て困っています。windows2000では問題なかったのですが、
何か解決方法はないでしょうか?
よろしくお願いします。

Re: フリーズ  Kimberly - 2005/04/26(Tue) 05:35 No.622

いってつ様

Windows2000 で動作し、Window2003 で動作しなければ、OS固有の問題かもしれませんね。メーカーに聞くか、でも、V8 はサポートはすでに終了している。
又は、OCXでなく、別な開発手法(PE関数、RDC)で試してはいかがでしょう。
Re: フリーズ  いってつ - 2005/04/26(Tue) 14:12 No.623

RESありがとうございます。
メーカーに直接メールを出した事はあるのですが、
サポート終了という事でバージョンアップを進められた
だけでした。

別な開発手法(PE関数)のサンプルなどは、どこに
あるのでしょうか?
以上、よろしくお願いします。
Re: フリーズ  Kimberly - 2005/04/26(Tue) 22:59 No.630

いってつ様

別な開発方法ですが、製品にサンプルコードが含まれていませんか。
今は、V8 は無いので確認できませんが・・
PE関数よりRDCの方が移行がし易いと思います。
以下のサイトには、RDCへの移行について技術文書があります。
http://support.businessobjects.com/communityCS/TechnicalPapers/cr9_ocx_to_rdc.pdf

あと、メーカーのサイトには、色々とサンプルコードもあります。
(PE関数)
http://support.businessobjects.com/communityCS/TechnicalPapers/apps_vb_api.pdf
(RDC)
http://support.businessobjects.com/communityCS/TechnicalPapers/apps_rdc.pdf

ワクをはみ出してしまうデータ  nonomimi - 2005/04/24(Sun) 22:12 No.616

初めまして。CrystalReportまったく初心者です。

データを表示させるオブジェクトの枠よりも、データの方が長い場合、
「複数行に出力」にチェックするだけでは、その枠だけが拡張してしまって
その下の部分にある別のデータの上に重なってしまうのですが、
これを避ける方法はないのでしょうか?
Accessのレポートでは、拡張した枠以降のデータが、自動的に
繰り下がってくれる機能があると聞いたのですが。。

宜しくお願いいたします。
Re: ワクをはみ出してしま...  Kimberly - 2005/04/26(Tue) 05:32 No.621

nonomimi様

このオブジェクトがどこに挿入しているかで対応方法が変化するかもしれませんが・・重なるオブジェクトと複数行で出力しているオブジェクトを別なセクションを分けて挿入してみたらどうでしょう。
例えば、詳細セクションにオブジェクトを挿入している場合、「セクションの下に挿入」を選んで、Da と Db に分けます。Da には、複数行で出力しているオブジェクトを挿入し、重なってしまうオブジェクトをその下の Db に挿入します。
セクションが異なるため、重なって表示されることはありません。
あとは、デザインした通りにレポートが表示できるかどうか調整が必要かもしれません。
Re: ワクをはみ出してしま...  nonomimi - 2005/04/26(Tue) 20:41 No.628

なるほど、セクションで分けるんですね。自分が作成中のものでは、
この方法でできるところとまた別の方法が必要なところがあるようです。
とりあえずまずできる部分に使ってみたいと思います。
あとはオートメーションでAccessのレポートを併用しようと思います。
(CrystalReportは参考書がなくってほんと困りますね(--;)

Kimberly様、どうもありがとうございました!

複数のフィールドをグループ化したい  どむ - 2005/04/23(Sat) 18:10 No.615

はじめまして。

CrystalReports10 を使っています。
複数のフィールドを1つのグループにしたいのですができますか?
たとえば、、県名、市名、区名を1つのグループにして詳細に区以下の住所を
印刷するイメージです。
宜しくお願いします。

Re: 複数のフィールドをグ...  Kimberly - 2005/04/26(Tue) 05:05 No.619

どむ様

以下のような内容の式フィールドを利用し、この式フィールドを利用してグループを挿入するとできます。
WhileReadingRecords;
{xxx.県名} + {xxx.市名} + {xxx.区名}
Re: 複数のフィールドをグ...  どむ - 2005/04/26(Tue) 15:53 No.626

Kimberly様

教えていただいた方法でできました!!!!!
ありがとうございました。

ページ番号  グールズ - 2005/04/20(Wed) 15:36 No.610

グループ単位にページとグループ単位の最大ページを
表示するにはどうすればよいのでしょうか?

OS WinXP
VB.net2003
クリスタルレポートVer.9

Re: ページ番号  Kimberly - 2005/04/22(Fri) 06:33 No.613

グールズ様

セクション エキスパートからグループフッターの「出力後にページ番号をリセット」をチェックします。その結果、グループ単位でページ番号が1から始まります。
グループ単位の最大ページとは、そのグループ内の最終ページと解釈したら、
特殊フィールドのページ数(N/M) を挿入します。
その結果、このページ数(N/M) はこんな感じで表示されます。

最初のグループ(3ページ)次のグループ(2ページ) 次の次のグループ(nページ)
1/3  2/3  3/3                 1/2  2/2                    1/n 2/n ・・ n/n
Re: ページ番号  グールズ - 2005/04/26(Tue) 15:14 No.625

あ・・・。って感じでしたね(^^;)
どうもありがとうございました

重複データについて  mutyu - 2005/04/20(Wed) 14:11 No.609

はじめまして。よろしくお願いします。
早速質問で申し訳ないのですが、クリスタルレポート上で、重複データのNULL表示なんか出来ないでしょうか?

得意先    日付    a@ 商品


10     05/05/10   1   20
10     05/05/10   1   22
10     05/05/10   1   30

といったようなレポートを出力する際、2・3行目の「得意先」「日付」「av
部分がじゅうふくしているので、

得意先    日付    a@ 商品


10     05/05/10   1   20
                    22
                                            30

という風にやりたいのですが、クリスタルレポート上では出来ますでしょうか?
Re: 重複データについて  Rin - 2005/04/20(Wed) 16:02 No.611

データフィールドを右クリック→重複データの非表示にチェック入れればいけると思いますが。。。これじゃだめっすか?

Re: 重複データについて  mutyu - 2005/04/25(Mon) 09:08 No.617

ありがとうございます。
ツールバーから一生懸命探していました。

でも、たとえば上位グループが変わった場合、下位グループが前レコードと重複していても下位グループを表示させたい場合、ってクリレポ上で出来るのでしょうか?

いま、VBから振っているので、そちらでデータの整合をしてから送っているんですけど....
Re: 重複データについて  Kimberly - 2005/04/26(Tue) 05:22 No.620

mutyu様

グループを利用している場合、そのグループ内で重複データを非表示とします。
例えば、国名、県名、市名、区名のフィールドがあるとします。
県名でグループを挿入し、国名を重複データの非表示をチェックすると
以下のように表示できると思います。
(表示例)
A県 
       日本国  a1市  a1区
                a2市  a2区
               a3市  a3区
B県
   日本国  b1市  b1区
               b2市  b2区
               b3市  b3区
C県
   日本国  c1市 c1区
               c2市 c2区
               c3市 c3区

テキストの改行(校正)について  PearlDiamond - 2005/04/25(Mon) 15:41 No.618

はじめまして。

テキストボックス(FieldObject)に、DBから取得したデータを
貼り付けていますが、その項目は事由入力欄で、項目長チェック
くらいの入力制限しか設けてありません。

そこで、文字列が1行を超える場合、自動的に改行するように
なっているのですが、校正機能−−句読点やカッコの終了")、】、]"が
行頭に来た場合、自動的に前の行の最後につけるか、 または
前の行の最後の文字を次行の先頭につけるように 依頼されました。

オブジェクトのプロパティを変更する程度の修正で、うまくいくような
気もするのですが、ヘルプにもそのような記述がなく、webで検索
しても ヒットする情報がありません。。。

余りにも基本的な質問のため?かもしれません。。。引き継ぎPGで、
前担当者は既に去り、クリレポ未経験のため、困っています。

VBは6.0(sp5)、 クリレポはv9です。

よろしくお願いします。


宛名ラベルについて  とし - 2005/04/20(Wed) 12:44 No.608

クリレポを初心者なんですが・・・
宛名ラベルの幅・高さ・縦間隔・横間隔をプログラム上で設定できるんでしょうか?
上記の幅・高さ・縦間隔・横間隔などの情報を元に数種類の宛名ラベルを一つのレポートで制御したいのですが。
どうしていいのか困っています。ご存知の方はご教授をお願い致します。


改ページについて  ひで - 2005/04/18(Mon) 18:51 No.605

クリレポ初心者のひでです。
現在、帳票作成中ですが、明細途中で改ページするとグループヘッダが出力されるのですが、明細を全出力後にMAX行出力している為、合計欄を改ページして出力しようとするとグループヘッダが出力されません。
どなたかご存知の方がおりましたら、ご教授をお願い致します。
Re: 改ページについて  Kimberly - 2005/04/19(Tue) 06:07 No.606

ひで様

レポートのデザインイメージがよくつかめていませんが、レポートに挿入されたグループに「ページごとにグループヘッダーを出力」のオプションをチェックすることで改ページしてもグループヘッダーが表示されます。
但し、これは、同一グループの処理が継続している場合、改ページが発生したらグループヘッダーが表示されますが、そのグループの処理が終了すれば、グループヘッダーは表示されません。質問内容からすでにグループ内の処理が終了しているように思えます。例えば、ページヘッダーにグループヘッダーと同じ内容を挿入し、ページヘッダーの「非表示」の条件式で表示する、あるいは、表示しない条件を設定することで試してはいかかでしょうか。
レポートの表示イメージがよく理解できていないので的が外れていましたら、この書き込みは無視してください。

テキストオブジェクトの改行方法  ぽこんた - 2005/03/31(Thu) 16:35 No.584

はじめまして。クリスタルレポート初心者のぽこんたと申します。

現在クリスタルレポートを使い、帳票を作成しているのですが、
このページを参考に、テキストオブジェクトを以下のようにソース上から、
変更しています。

((TextObject)cr.ReportDefinition.ReportObjects["Text1"]).Text = "てすとです";

そこで、途中で改行したく、以下のように"\r\n"を挿入し、かつ、テキストオブジェクトのプロパティで、「複数行に出力」「最大行数:10行」としても、改行されません。
"\r\n"ではなく、特別な改行文字などが、必要なのでしょうか。
もしくは、別な方法で処理する必要があるのでしょうか。
教えてください。

((TextObject)cr.ReportDefinition.ReportObjects["Text1"]).Text = "てすと\r\nです";


環境
.NET Framework1.1
.NET 2003 付属クリスタルレポート
C#
Re: テキストオブジェクト...  sokafuji - 2005/04/05(Tue) 23:16 No.591

同じ問題に悩んで色々試してみましたが、その方法では、たぶん出来ないんじゃないかと思います。
webを検索していると、CrystalReport9から出来るようになったというような記述もありましたが、真偽の程はわかりません。

私は、テキストオブジェクトを直接書き換えるのにさっさと見切りを付け、印刷に必要なテキストを納めたデータセットを定義してデータベースフィールドとして貼り付けました。
データベースのテキスト型レコードであれば、改行を保持して印刷出来ます。
やり方は、このサイトで解説されていますし、とても簡単です。
Re: テキストオブジェクト...  だら - 2005/04/15(Fri) 17:29 No.603

初めましてです。
いつもこちらでお世話になっている初心者域を出ないものですが、一応改行できる案を書きます。

chr(10) & chr(13) で、\n と \r を取得できます。<chr():ASCIIコードで文字取得

改行を多く使われるのでしたら、

dim vbcrlf    as String
vbcrlf  = chr(10) & chr(13)

としておけば vbcrlf を使って分かりやすく改行できると思いますよ。

他にも策があるかもしれませんが、1つの策として書き込みます・・・。

Re: テキストオブジェクト...  だら - 2005/04/15(Fri) 17:30 No.604

すみません、テキストで、でしたね・・・。
式フィールドでと思い込んでいました・・・凹

プレビュー表示について  Mai - 2005/04/04(Mon) 13:08 No.586

初めまして。

VB6からクリレポのプレビューを表示させたいのですが、
「SQLサーバーを開くことができません」というエラーが出てしまいます。
原因として何が考えられるのでしょうか??
初心者なので、知識がなくて困っています。。。
どんなことでもいいので、何か教えてください。。
Re: プレビュー表示について  Kimberly - 2005/04/06(Wed) 09:26 No.593

Mai様

Crystal Reports のバージョンや接続しているデータベースの種類がわかりませんが・・データベースの接続処理の記述がないためではないでしょうか?
また、配布環境の場合、データベースのクライアントがインストールされていないあるいは、ユーザー名、パスワードが正しくないとかが考えられます。
Re: プレビュー表示について  Mai - 2005/04/12(Tue) 17:39 No.599

返信ありがとうございます。
そして返事が遅くなってすみません。。。
Oracle8iとCrystalReport6を使っています。

接続処理の記述はあるのですが。。。
どうやら、「PEStartPrintJob」という関数のところでエラーになっているようです。。
この関数自体がよくわかっていないもので、先に進めません。

Re: プレビュー表示について  Kimberly - 2005/04/13(Wed) 08:21 No.600

PEStartPrintJob 関数でエラーが発生しても直接の原因は、それ以前の部分になります。接続処理はどの関数を利用しているのでしょうか。また、データベースの接続方法は、ODBC、OLE DB、ネイティブどれですか。
Print Engine API 関数は、以下のような流れで記述しているかと思います。
1.PEOpenEngine 
2.PEOpenPrintJob 
3.PEGetNthTableLocation
4.PESetNthTableLocation
5.PEOutputToWindow
6.PEStartPrintJob 
7.PEClosePrintJob 
8.PECloseEngine 
上記4.に正しいデータベースログイン情報が設定されていないエラーになります。
Re: プレビュー表示について  Mai - 2005/04/14(Thu) 10:12 No.601

解決しました!
接続処理が正しくないということで・・・
新たにODBC Driverを作成して、サーバー名を宣言しなおしたところ、
無事にプレビューが表示できるようになりました。
Kimberly様、ありがとうございました。

レポート出力されない  ぽんた - 2005/04/11(Mon) 16:35 No.597

お世話になります。

クライアントのMDBを参照して、レポートを作成していましたが、
今回、サーバのODBC経由でオラクルDBを参照するように変更しました。
レポート側の変更点は、「保存場所の設定」でODBCを設定しました。
レポート上でのプレビューは正しく表示されます。
VB側の変更点は、Connectに接続文字列、UserNameにユーザー名を設定しました。

プレビューモードで実行すると、一瞬レポートが表示されますが、
すぐ閉じてしまいます。
LastErrorStringを見てみると、「データベースDLLがエラーを検出しました。」
と表示されます。
P2SODBC.dllのバージョンを8.0.0.95にしたりしてみましたが、
状況は変わらずです。
テーブル名の変更はありません。
どなたか分かる方、ご教授お願いします。

環境
vb6sp5
CrystalReports8.0
Oracle8.1.6
Re: レポート出力されない  ぽんた - 2005/04/11(Mon) 17:21 No.598

すいません、自己解決しました。
原因は、DataFilesに修正前のMDBのパスを入れていた為でした。
この文を削除することにより、動作しました。

無題  デンデン - 2005/04/04(Mon) 18:49 No.587

はじめまして。

クリスタルレポート初心者なのですが、わからないことがあったので質問させてください。

今回、VB.netで作成した帳票印刷システムで帳票部分をクリスタルレポート9で作成したのですが、開発環境では動くのですが実行環境(別のパソコン)では動きませんでした。おそらくクリスタルレポートのDLLが実行環境にない為だと思われるのですが、どのようにして実行環境に組み込めばよいのでしょうか。
無題  さかもと - 2005/04/05(Tue) 19:10 No.588

こちらを直接見てもらうほうが早いでしょうか?
もしVS.NET付属のクリレポであれば解決できるはずです。
環境が書かれてないので不明ですが多分できる・・・?

http://japan.businessobjects.com/support/crystalreports9/faq_dotnet.asp#net_cr9
実は今週日曜日に同様のことで詰まってました(笑)
Re: 無題  デンデン - 2005/04/07(Thu) 19:05 No.595

返事が遅れてすみませんでした。

なんとか英語を解析しながら解決できました。
回答ありがとうございました。

SelectionFormula  VBVB6.0 - 2005/03/29(Tue) 18:43 No.583

クリスタルレポートのV8でSQLのパラメータをプロパティ
にセットする時に使っている、SelectionFormulaは
V10になるとどう変わるのでしょうか?
V10でSQLのパラメータをプロパティにセットしたいのですが、
わかりません。教えて下さい。
Re: SelectionFormula  Kimberly - 2005/04/06(Wed) 09:32 No.594

VBVB6.0様

SelectionFrmula プロパティは、Crystl32.OCX を利用していると思いますが。
Crystal Reports 10 では利用することはできません。そのため、別な開発手法を利用しないと駄目です。
Report Designer Component(RDC)にコードを置き換える必要があります。
このコンポーネントにもレコード選択式の機能があって、以下のような記述をします。

Report.RecordSelectionFormula = "{テーブル名.項目名} = 'あいうえお'"

RDCを利用したサンプルコードが製品に付属しているので参照してみてください。

無題  やま - 2005/04/05(Tue) 21:44 No.590

はじめまして。
クリスタルレポート9.0 にて開発しています。
画像データを横に回転させて表示することができるのでしょうか?
やり方を知っている方がいらっしゃいましたら、ご教授お願いします。
Re: 無題  Kimberly - 2005/04/06(Wed) 09:17 No.592

やま様

画像データを回転させる機能はないと思いますが・・
画像データ側で回転させて再保存するしかないかと思います。


クリスタルレポートをMDBからプレビューしていますが、最後のデータがプレビューされません  巣山 真由美 - 2005/04/05(Tue) 21:03 No.589

はじめまして、初めてVB.NETでクリスタルレポートを使用しています。

 入力はMDBのテーブル、
 MDB接続は、ODBC接続
 ADOコネクションです。
 1つのプログラムで2つのレポートを出力しています。
 プレビュー画面は1つにしたのですが

どうしても、レポートの最後のデータがプレビューされません。
MDBには、ちゃんと抽出されているのですが
データが1件の時は、空白行のみが出力されているのですが
中身がプレビューされません。
もう、1週間も悩んでいます。

どうしてでしょうか?
プレビュー画面を1つにしてはまずいのでしょうか?
それとも、1つのプログラムで2つのレポートを出力しているのが
まずいのでしょうか?

どなたか是非是非教えて下さい。
お願いいたします。

どうしたらよいのでしょうか??????


******************<プログラム>****************************************
          Dim prv在庫総括 As New F_プレビュー
        Dim prv在庫明細 As New F_プレビュー


        '■印刷確認
                If chk総括.Checked = True Then


                    '■総括プレビュー表示の呼出
                    If funW在庫一覧表総括登録() > 0 Then


                        glng帳票番号 = genm帳票番号.在庫一覧表総括・・・レポート番号指定
                        With prv在庫総括
                            .ShowDialog()
                            .Dispose()
                        End With
                 End If


                If chk明細.Checked = True Then


                    '■明細プレビュー表示の呼出
                    If funW在庫一覧表明細登録() > 0 Then


                        glng帳票番号 = genm帳票番号.在庫一覧表明細・・・レポート番号指定
                        With prv在庫明細
                            .ShowDialog()
                            .Dispose()
                        End With
                        'rpt在庫明細 = Nothing
                  End If
            End If
        End If

********************<プレビュー画面>***********************************************:
    Private Sub F_プレビュー_Load(ByVal sender As System.Object, _
                     ByVal e As System.EventArgs) Handles MyBase.Load


        '■各プレビュー表示(指定されたレポートのプレビュー)
        Me.Cursor = Cursors.WaitCursor


        Select Case glng帳票番号
            Case genm帳票番号.在庫一覧表総括
                Dim rpt在庫総括 As New R_在庫一覧表総括
                crvプレビュー.ReportSource = rpt在庫総括
                crvプレビュー.Refresh()


            Case genm帳票番号.在庫一覧表明細
                Dim rpt在庫明細 As New R_在庫一覧表明細
                crvプレビュー.ReportSource = rpt在庫明細
                crvプレビュー.Refresh()


        End Select
        Me.Cursor = Cursors.Default
******************************************************


エクスポートDLLが存在しません  koma - 2005/03/23(Wed) 17:02 No.576

初めて投稿させていただきます。
よろしくお願い致します。

現在下記の環境で開発をおこなっています。
Windows2003 Server
CrystalReport 8.0

クリレポをインストール後、デザイナからプレビュー表示してエクスポートしようと
すると、「エクスポートDLLが存在しません」というエラーが表示されエクスポート
できません。何回かインストールしなおしたのですが結果は同じでした。

どなたかご存知の方がいらっしゃいましたら
ご教授の程よろしくお願い致します。
Re: エクスポートDLLが存・..  Kimberly - 2005/03/26(Sat) 01:41 No.581

koma様

エラーになった後、デザイナのヘルプメニューから「バージョン情報」-「詳細」を選択して、メモリにロードされたファイルの中でU2xxx とX3xxxで始まるファイルが存在していますか。どの形式でエラーになるのかわかりませんが・・
このファイルが存在していないとエクスポートはできません。 
インストールする際に、カスタムインストールですべてのコンポーネントを選択しても駄目ですか?
Re: エクスポートDLLが存・..  koma - 2005/03/28(Mon) 18:06 No.582

Kimberly様

アドバイスを頂き、どうもありがとうございました。
現在そのマシンはお客様のところにある為、確認することが
できません。
なので確認後、またご報告させていただきます(今週末?)。

どうもありがとうございました。

グループごとにまとめて表示  友香 - 2005/03/17(Thu) 17:34 No.571

はじめまして、友香と申します。
グループごとにまとめて表示をONにした場合、しょっぱなから1ページに収まらないようなグループだと、いきなり改ページして見出しだけのページが1ページ目にきてしまうのですが、何か良い回避方法をご存知の方、お教え下さい。お願いしますm(_ _)m
Re: グループごとにまとめ...  Kimberly - 2005/03/23(Wed) 07:46 No.574

友香様

シンプルなレポートにグループを挿入し、「グループごとにまとめて表示」をチェックしても改ページは発生しませんが・・もちらん、グループには、1ページ以上のデータは存在しています。もう少しレポートのデザインの詳細を説明して頂かないと回避方法が見つからないと思います。

Re: グループごとにまとめ...  友香 - 2005/03/24(Thu) 14:23 No.579

すいません、質問が大雑把すぎました。
えっと、デザインですが出納帳のような感じで罫線ありです。
グループキーである項目の出納を日付ごと(行)、区分(列)ごとに印字しています。指定期日範囲分を出力したところでグループ計を印字し、次のグループを印字する。全てのグループが出力されたら総合計を印字して終了です。
このときに、グループごとにまとめて表示をしたいのですが、最初のグループが1ページに収まらないようだと、いきなり改ページしてしまうのです。
こんな説明でわかってもらえましたか?
クリレポのサイトを検索してみましたが、現象は報告されているものの回避方法までは見つけることができませんでした。
よろしくお願いします。

Re: グループごとにまとめ...  Kimberly - 2005/03/26(Sat) 01:32 No.580

友香様

「グループごとにまとめて表示」をチェックする必要性があるのでしょうか。
このオプションにチェックなしでレポートが期待される表示結果であれば問題ないのではないかと思いました。
経験上、このオプションを利用有無でなく、レポートの表示(印刷)される結果が期待されたものになっているかで判断した方がいいのではないでしょうか。
また、こんな風に表示する場合、どうしたらいいか?という質問の方が解決の早道ではないですか。

ちなみに再度、試しても指摘された現象にはなりませんでした。このレポートをデザインする上で何か情報が不足しているのだと思います。


CSVファイルの出力  初心者 - 2005/03/18(Fri) 15:39 No.572

はじめまして。

現在、業務開発で、
クリスタルレポート9を使用するのですが、
どうしても解らない点が御座います。

質問事項:クリスタルレポートで、CSVファイルより帳票を出力することは、
       可能でしょうか?
       又、ご存知の方は方法をご指導ください。

開発環境:Win2000/XP
       VB6(SP5)
       クリスタルレポート9

初歩的な質問ですが、VB初心者なものですので、
ご了承ください。

以上、ご指導の程、よろしくお願い致します。
Re: CSVファイルの出力  Kimberly - 2005/03/23(Wed) 04:41 No.573

初心者様

CSV ファイルを利用してレポートを作成することは可能です。但し、ODBC経由になります。まずは、ODBCデータソースアドミニストレータからODBCデータソースを定義します。Microsoft Text Driver を選択します。「現在のフォルダを使用する」のチェックを外して、CSVファイルがあるフォルダを選択します。「オプション」ボタンを押して、「書式の定義」ボタンを押します。
テーブルの一覧で表示されるファイル名から該当のCSVファイルを選択し、「推量」ボタンを押します。後は、各フィールド毎にデータ型、名前、列幅(サイズ)を設定します。最後に「OK」を押します。
混乱しないようにCSVファイルは新たに作成したフォルダにおいて、上記の操作をした方がいいかもしれません。
あとは、Crystal Reports からODBCのデータソースを利用してレポートをデザインします。
Re: CSVファイルの出力  初心者 - 2005/03/24(Thu) 13:36 No.578

Kimberly 様、返答ありがとう御座いました。

ご指導の通り、ODBC経由で作成してみた所、
解決できましたので、
ご報告いたします。

皆様、ありがとう御座いました。

印刷プレビュー  tosi3 - 2005/03/23(Wed) 17:18 No.577

はじめまして

現在クリスタルレポートで帳票の開発を行っているのですが
印刷プレビューを表示し印刷ボタンを押したダイアログの「OK」「キャンセル」
の取得は出来ないのでしょうか?

現在の状態では印刷を行った後、プレビューは手動で閉じる様になっているのですが、印刷を行った後、プレビューを自動で閉じる様にするのが目的です

開発環境はWindowsXP,VB.net,クリスタルレポート9.1.5です

どうかよろしくお願いします

レコード件数の取得について  rep - 2005/03/09(Wed) 11:49 No.562

いつもお世話になっています。

現在、レコード件数の取得で困っています。

レポートヘッダー
ページヘッダー
グループヘッダー1
グループヘッダー2
詳細
グループフッター1
グループフッター2
レポートフッター
ページフッター

という構成のレポートで、ページヘッダー部に、グループ毎のレコード件数を
表示させたいのですがうまくいきません。

自分なりにいろいろ試しているにですが
ページフッター部に”レコード番号”でレコード件数をとるんだな。という程度
にしかわかりません。
初歩的な質問かと思いますが、ご教示願います。

環境
WindowsXP SP2
VB.NET2003
Oracle9i

自己解決しました  rep - 2005/03/11(Fri) 09:19 No.564

ヘッダ部グループ番号を出すことはできました。
count( , )を使用しました。

がしかし、新たな問題発生です。
例えば、詳細部の値が1、0と変化する値がある場合、1がx個、0がx個と
カウントすることができません。同ページ内では可能なんですが、詳細部が複数ページ
にまたがるとカウントも初期化されてしまいます。

なにかヒントになるようなことをご存知でしたら、ご教示願います。
よろしくお願いします。

自己解決しました  rep - 2005/03/23(Wed) 11:55 No.575

ヘッダ部で初期化、詳細部で条件つけてカウント、グループフッタ部で出力という方法で解決しました。

帳票作成を終了することができました。
この掲示板には大変お世話になりました。
閲覧、ご教示してくれた皆様ありがとうございます。

印刷プレビューの方法  さらみ - 2005/02/03(Thu) 13:02 No.498

はじめまして。

初歩的な質問で申し訳ありません
印刷プレビューを表示させたいのですが
どうすればいいのでしょうか?
(PrintToPrinterで印刷できることは分かったんですが。。)

環境
WinXP Pro
VB.NET
レポートはバンドル版です。

よろしくおねがいします。
Re: 印刷プレビューの方法  さらみ - 2005/02/03(Thu) 13:10 No.499

すいません

上記に追加します

DBはOra8です

抽出データを表示・印刷するという機能を付加したいんです。

重ねてお願い申し上げます。



Re: 印刷プレビューの方法  さかもと - 2005/02/07(Mon) 13:32 No.503

さかもとと申します。
手順としては・・・。
以下適当なコードですが。

1:プレビューを行う画面を用意する
2:プレビュー画面にクリレポのコントロールを貼り付ける(各種プロパティ設定)
3:クリレポの設計を行う
4:呼び出し元と呼び出し先の画面の設計を行う
でしょうか・・・?

★呼出元の画面
'/印刷プレビューで使う画面を呼び出す為の宣言
Dim frm_pp As frmPrev
'**プレビュー画面の呼出
Private Sub btn_Print_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Print.Click

'/待機カーソルを表示する
Me.Cursor = Cursors.WaitCursor

'/プレビュー用のインスタンスが存在しない場合に作成する
If frm_pp Is Nothing OrElse frm_pp.IsDisposed() Then
frm_pp = New frmPrev
End If

'/frmPrev(プレビュー画面)を表示する
frm_pp.ShowDialog()

'/プレビュー画面を選択する
frm_pp.Select()

'/待機のカーソルを元に戻す
Me.Cursor = Cursors.Default

End Sub

★呼出先の画面
Private Sub frmPrev_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'/レポートの宣言
Dim rpt_pr As New rptTest

'/呼出元の画面を宣言
Dim frm_pp As frmPrev

'/表示中のfrmPrevフォームを参照する
frm_pp = frmPrev.ActiveForm

'/データセットをレポートに連結する
rpt_pr.SetDataSource(frm_pp.DsTest1)

'/CrustalReportsViewerコントロールのソースを設定する
rptfrmPrev.ReportSource = rpt_pr

'/用紙サイズの設定:A4
rpt_pr.PrintOptions.PaperSize = CrystalDecisions.[Shared].PaperSize.PaperA4
'/用紙向きの設定:横
rpt_pr.PrintOptions.PaperOrientation = CrystalDecisions.[Shared].PaperOrientation.Landscape
'/ズームの比率をページの幅全体に合うように設定
rptfrmPrev.Zoom(1)

End Sub

Re: 印刷プレビューの方法  さらみ - 2005/02/14(Mon) 16:08 No.520

ご回答ありがとうございます。

只今、別件で立て込んでおりまして
すぐには験せないのですが
また事後報告させていただきます。

最後になりましたが、ご返答が遅くなりましたこと
お詫びいたします。

Re: 印刷プレビューの方法  さらみ - 2005/03/17(Thu) 13:31 No.570

一ヶ月以上前の話で誠に恐縮ですが。。

ご指南いただいた内容でバッチリでした。
ページ設定の部分までコードをほぼそのまま使わせていただきました。

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


複数テーブルからのデータ出力方法  nana - 2005/03/08(Tue) 16:37 No.559

毎度、参考にさせていただいています。
現在、2つのテーブルからデータを取得し、出力する帳票を作っています。


テーブルA
 1レコード目: AAAA, BBBB
 2レコード目: CCCC, DDDD


テーブルB(4番目の「1」「2」はページ番号を指す)
 1レコード目: GG, 1111, 2222, 1
 2レコード目:  HH, 3333, 4444, 1
  3レコード目:  GG, 5555, 6666, 2
 4レコード目:  HH, 7777, 8888, 2


以下のように出力させたい
<1ページ目>
   | AAAA   |  BBBB
====================================
GG | 1111   |  2222
------------------------------------
HH | 3333   |  4444


<2ページ目>
   | CCCC   |  DDDD
====================================
GG | 5555   |  6666
------------------------------------
HH | 7777   |  8888


現在、詳細でテーブルBを連続出力していますが、
次ページに遷移したとき、テーブルAから取得されたデータが反映されません。


何かよい方法があればご教授ください。
開発環境は、Crystal Report8.0です。
よろしくお願いします。

Re: 複数テーブルからのデ...  rep - 2005/03/09(Wed) 11:26 No.561

サブレポートを使用すればいけると思いますよ。
Re: 複数テーブルからのデ...  nana - 2005/03/15(Tue) 17:57 No.567

repさん、コメントありがとう御座います。
サブレポート使ってやってみます。


ページフッダー分スペースを詰めたい  aki - 2005/03/10(Thu) 17:31 No.563

初投稿です。


CryatalReport8.5で複数ページになるレポート作成しています。


======================
理想構成


【1ページ目】
ページヘッダーa
グループヘッダー
詳細
グループフッダー
ページフッダー


【2ページ以降】
ページヘッダーb
グループヘッダー
詳細
グループフッダー
=====================


上記のような構成にしたくページフッダーの
'非表示ードリルダウン不可'の式エディタにて
「PageNumber > 1」と記入して2ページ以降は
ページフッダーを表示させないようにはできたのですが
2ページ以降に1ページで表示していたページフッダー分の
空白のスペースが出来てしまいます。


=======P1.======
1.ページヘッダーa
2.グループヘッダー
3.詳細
4.詳細
5.詳細
6.詳細
7.詳細
8.ページフッダー
========P2.=======
1.ページヘッダーb
2.詳細
3.詳細
4.詳細
5.詳細
6.詳細
7.詳細
8. --空白--(これはNG 詰めて詳細を入れたい)
========P3.=======
1.ページヘッダーb
2.詳細
3.詳細
4.詳細
5.グループフッダー
6.--空白--(これはOK)
7.--空白--(これはOK)
8.--空白--(これはOK)
==================

空白スペースを詰めて詳細を入れる方法を
ご存知の方ご教授ください
よろしくお願いします。


印刷について  ブルー - 2005/03/08(Tue) 20:09 No.560

クリスタルレポート8.5を使用してAccessをデータベースとしレポートを印刷していますが、プレビューを見るとデータをフィールド内に表示しているのですが、印刷を実行すると罫線しか印刷されず、テキストフィールドやデータフィールドが印刷されないという現象がおきてしまい同対処していいのかわからない状態になってます。
なにかご存知の方教えてください。
OS:WindowsNT4.0TSE
プリンタのテスト印刷、WORDやメモ帳などからは問題なく印刷できます。

印刷時にウインドウフォームからの値の取得  rep - 2005/03/04(Fri) 14:39 No.556

クリスタルレポートで、印刷時にウインドウフォームのテキストボックスや、
データグリッドから値(パラメータ)を取得し、レポートのSQLや、詳細部に
出力などを行いたいのですが、可能なのでしょうか??

現状は「印刷ボタン押下」→「パラメータの値を入力してください」ダイアログ

となります。ダイアログを出力させずにパラメータを渡したいのです。
自分なりに調べたのですが、APIを使用すれば可能かもしれないというところです。

どうかご教示お願いいたします。

開発環境
WindowsXP SP2
VB.NET2003
Oracle9i
Re: 印刷時にウインドウフ...  rep - 2005/03/07(Mon) 14:45 No.558

自己解決しました。

SetParamValueでいけました。


はじめまして(^_^)  cancan - 2005/03/05(Sat) 20:52 <URL> No.557

 CrystalReportsの情報を探していてたどり着きました「むかむか クリスタルレポート」のタイトルに思わず笑ってしまいました。マニュアルやヘルプは判りづらいし、CrystalSQLQueryなんて箸にも棒にもかからないタコなツールはついているし... 何度キレた事か。
 ところでデベロッパ版Ver8.5のユーザーなんですが、CrystalReportsで幾つもの帳票を作ったVBのシステムをXPに移行しなければならないんです、Ver8.5はXPには基本的に対応していないとの事なんですが、最悪はバージョンアップすべきか余所の製品に乗り換えるべきかと頭を抱えています。WEB出力はしていないのですが、「基本的に対応していない」とは根本的に対応していないと云う事なのでしょうかネ。時間と費用をムダにしないうちにアドバイスがあれば宜しくお願いしますm(_ _)m

印刷について  ari - 2005/03/01(Tue) 19:57 No.544

はじめまして。ariです。

VB.NETの付属のクリスタルレポートで帳票を作成しています。
印刷についてですが、プレビューを表示せずに、印刷をしたいのです。
何か方法があれば教えてください。
よろしくお願いします。
Re: 印刷について  - 2005/03/03(Thu) 08:48 No.546

CrystalDecisions.CrystalReports.Engine.ReportDocumentクラスのPrintToPrinterメソッドなどどうでしょう?

(例:C#ですけどVBでもほとんど同じ)

ReportDocument rep = new ReportDocument();
rep.Load("c:\test.rpt"); // ここでレポートファイル読込
rep.SetDataSource(ds); // データソースを予め設定しておく
rep.PrintToPrinter(1, false, 0, 0) // プリンタ設定はレポート定義デフォルト

詳細は、PrintToPrinter() のヘルプを見てください
Re: 印刷について  ari - 2005/03/03(Thu) 14:41 No.550

返信ありがとうございます。手順など参考になります。

ReportDocument rep = new ReportDocument();
rep.Load("c:\test.rpt"); // ここでレポートファイル読込
rep.SetDataSource(ds); // データソースを予め設定しておく
rep.PrintToPrinter(1, false, 0, 0) // プリンタ設定はレポート定義デフォルト

とありましたが、
rep.SetDataSource(ds); // データソースを予め設定しておく
のデータソースの設定がうまくできません。
自分なりに試してみたのですが・・・。
お手数おかけして申し訳ないのですが、ご教示いただけたら幸いです。

Re: 印刷について  - 2005/03/04(Fri) 09:06 No.551

私はXMLのスキーマ(xsd)にてレポートを定義し、スキーマに従ってXMLを作成して読込みしました。

(例)
 DataSet ds = new DataSet("test");
 ds.ReadXml(openXmlPath);
 rep.SetDataSource(ds);

こんな感じで上手く行ったのですが。
Re: 印刷について  ari - 2005/03/04(Fri) 14:23 No.555

ありがとうございます。

例を参考に作成したところ、印刷ができました。
助かりました。感謝です!!

これからは帳票の詳細なデザインです。
次のステップへ行くことができました。ありがとうございます。


余白の設定について  MARA - 2005/02/28(Mon) 16:21 No.543

はじめまして。MARAです。

クリスタルレポートの余白をプログラムから設定したいのですが、
設定する方法が分かりません。
プログラムから設定するにはどうすればよいのでしょうか?
何か方法があれば教えてください。よろしくお願いします。


環境:Microsoft Visual C# .NET
     Crystal Reports for Visual Studio .NET
OS:WinXP+SP2

Re: 余白の設定について  - 2005/03/03(Thu) 08:51 No.547

ReportDocument.PrintToPrinterのヘルプから


次の例は、レポートのページ余白を設定し、プリンタを選択し、レポートを印刷します。

[Visual Basic]
Private Sub PrintReport(ByVal printerName As String)
Dim margins As PageMargins

' PageMargins 構造体を取得し、
' レポートの余白を設定します。
margins = Report.PrintOptions.PageMargins
margins.bottomMargin = 350
margins.leftMargin = 350
margins.rightMargin = 350
margins.topMargin = 350
' ページ余白を適用します。
Report.PrintOptions.ApplyPageMargins(margins)

' プリンタを選択します。
Report.PrintOptions.PrinterName = printerName

' レポートを印刷します。startPageN および endPageN
' パラメータを 0 に設定し、すべてのページを印刷します。
Report.PrintToPrinter(1, False, 0, 0)
End Sub

[C#]
private void PrintReport(string printerName)
{
PageMargins margins;

// PageMargins 構造体を取得し、
// レポートの余白を設定します。
margins = Report.PrintOptions.PageMargins;
margins.bottomMargin = 350;
margins.leftMargin = 350;
margins.rightMargin = 350;
margins.topMargin = 350;
// ページ余白を適用します。
Report.PrintOptions.ApplyPageMargins(margins);

// プリンタを選択します。
Report.PrintOptions.PrinterName = printerName;

// レポートを印刷します。startPageN および endPageN
// パラメータを 0 に設定し、すべてのページを印刷します。
Report.PrintToPrinter(1, false,0,0);
}

[C++]
void PrintReport(String* printerName)
{
PageMargins margins;

// PageMargins 構造体を取得し、
// レポートの余白を設定します。
margins = Report->PrintOptions->PageMargins;
margins.bottomMargin = 350;
margins.leftMargin = 350;
margins.rightMargin = 350;
margins.topMargin = 350;
// ページ余白を適用します。
Report->PrintOptions->ApplyPageMargins(margins);

// プリンタを選択します。
Report->PrintOptions->PrinterName = printerName;

// レポートを印刷します。startPageN および endPageN
// パラメータを 0 に設定し、すべてのページを印刷します。
Report->PrintToPrinter(1, false,0,0);
};

[VJ#]
private void PrintReport(String printerName)
{
PageMargins margins;

// PageMargins 構造体を取得し、
// レポートの余白を設定します。
margins = Report.get_PrintOptions().get_PageMargins();
margins.bottomMargin = 350;
margins.leftMargin = 350;
margins.rightMargin = 350;
margins.topMargin = 350;
// ページ余白を適用します。
Report.get_PrintOptions().ApplyPageMargins(margins);

// プリンタを選択します。
Report.get_PrintOptions().set_PrinterName(printerName);

// レポートを印刷します。startPageN および endPageN
// パラメータを 0 に設定し、すべてのページを印刷します。
Report.PrintToPrinter(1, false,0,0);
}

Re: 余白の設定について  MARA - 2005/03/04(Fri) 10:10 No.554

余白の設定が出来ました。ありがとうございました。

べき乗の表示  - 2005/03/04(Fri) 09:29 No.553

CR for .Netで、べき乗の表示を 2^10 ではなく、
普通の数式で書くときのように表示可能なのでしょうか?

Excelだと、文字を選択して書式設定の文字飾りで上付き、下付きが選択可能なのですが。

印刷の分断  めがね - 2005/03/03(Thu) 09:36 No.549

現在、.NET2002付属のクリスタルレポートを使用して帳票の印刷を
行っています。言語はVB.NETです。

質問内容としては
レイアウトの違うレポートを2つ(もしくはそれ以上)定義して印刷を行う場合
定義してあるレポートを交互に出力したい(レポート1→レポート2→レポート1→・・)
のですが、こういう動作はできるのでしょうか?
現在、プレビューを行わずに直接印刷をしているのですが
CrystalReport1.PrintToPrinter(1,False,0,0)
CrystalReport2.PrintToPrinter(1,False,0,0)
とするとレポート1が全部出力されてからレポート2の印刷が始まります。
.PrintOptionも調べてみたのですがそれらしいものはありませんでした。
Re: 印刷の分断  - 2005/03/04(Fri) 09:12 No.552

これは、
 1)レポート1の1ページ目
 2)レポート2の1ページ目
 3)レポート1の2ページ目
 4)レポート2の2ページ目
 ・・・以降連続

ということでしょうか?
そうであれば、レポート全体のページ数を取得し(すみませんが取得方法は解らないです)、レポート1ページずつ出力してはどうでしょうか?

int nowPage = 1;
while (rep1MaxPage >= nowPage || rep2MaxPage >= nowPage)
{
if (rep1MaxPage >= nowPage) // rep1とrep2の最大ページ数が異なった場合を想定
rep1.PrintToPrinter(1, false, nowPage);
if (rep2MaxPage >= nowPage)
rep2.PrintToPrinter(1, false, nowPage);

nowPage++;
}

無題  - 2005/03/03(Thu) 09:07 No.548

小さな発見を1つ。
CR for VS 2003で、テキストフィールド内にフィールドをドラッグ&ドロップするとテキストが合成されました。

例.
・"[]" このフィールドに、 "km/h"という値を持つフィールド(例えばフィールド名:Unit)をドラッグ&ドロップ
・デザイナ上、"[Unit]"のように表示される
・レポートを実行すると、"[km/h]"として表示されます

それまでは、式フィールドでテキストを合成していたので、
ずっと悩んでいたのですが、これって普通に知られていることですか?

無題  やま - 2005/02/25(Fri) 19:12 No.542

いつも利用させていただいています。
質問ですが、メインレポートとサブレポートにおいて印刷の向きを変えることはできるのでしょうか?
プリンタの設定-印刷の向きを指定すると両方のサブレポートに反映されてしまいます。
何かよい方法はないでしょうか?

環境は、CrystalReport9.0 Win2000 Java1.4です。

無題  しゅう - 2005/02/23(Wed) 17:51 No.538

毎度、参考にさせていただいています。
サブレポートの結果を共有変数に格納して、メインレポートに反映させたいのですがうまくできません。何かよい方法があればご教授ください。
開発環境は、Crystal Report9.0、DB2です。
よろしくお願いします。

Re: 無題  しゅう - 2005/02/25(Fri) 11:53 No.541

自己レスです。
無事解決するころができました。
お騒がせしました。


クリスタルレポート印刷時のエラー  雷丸 - 2005/02/19(Sat) 16:54 No.533

はじめまして、雷丸と申します。
早速ですが質問させていただきます。

現在、あるMDBのデータをクリスタルレポートで印刷するものをVBで作成しております。
開発環境では正常に終了できるのですが、本番環境では印刷の命令を出した所で落ちてしまいます。
エラーメッセージを取得すると「アプリケーション定義またはオブジェクト定義のエラーです。」と書かれていました。
何が原因かさっぱりわからず途方に暮れています。

OS:開発 Win2000Pro
   本番 Win2000Server
VB6.0(SP5)
CrystalReports9.2

MDBにはCrystalReportsのデータベースエキスパートで接続しています。
VBには「CrystalReports9の追加」で印刷したい物を追加しています。

私の想像では本番環境にCrystalReports9のランタイムか何かが必要なのかな?と考えておりましたが…
どうかご教授よろしくお願いします。
Re: クリスタルレポート印...  Kimberly - 2005/02/22(Tue) 09:22 No.537

雷丸様

このエラーは、CRAXDRT.DLL がレジストリ登録されていないと発生します。
以下のメーカーのサイトに記事がありますよ。
http://support.businessobjects.com/library/kbase/articles/c2001825.asp

質問です  えりか - 2005/02/18(Fri) 11:16 No.530

はじめまして。

会社のパソコンに知らないうちに、クリスタルレポートがインポートされてしまい
私自身、クリスタルレポートを単体で使用することは無いのですが
エクセルを使用していると、勝手にツールバーが表示されてしまうんです
かなり邪魔なので、削除したいのですが方法がわかりません
誰かご存知の方が居れば、教えていただきたいです
よろしくお願いいたします。
Re: 質問です  さかもと - 2005/02/18(Fri) 19:46 No.531

アンインストールすればどうでしょうか・・・?
Re: 質問です  さかもと - 2005/02/18(Fri) 19:48 No.532

↑追記。
「クリスタルレポート」のアンインストールです。
アンインストールが分からない場合は近くの方に聞けば
教えてもらえるはずです。
Re: 質問です  Kimberly - 2005/02/20(Sun) 01:07 No.534

えりか様

Excelの「ツール」-「アドイン」に”Crystal Reports”が表示されていませんか。
表示されていれば、チェックを外すとアイコンは消えると思います。
Re: 質問です  えりか - 2005/02/21(Mon) 12:47 No.535

さかもと様
ありがとうございます。アンインストールはできないんです
会社のシステムの関係上、クリスタルレポートが必要だったらしいので
システム会社の人に勝手にインストールされてしまったようなんです

Kimberly様
ありがとうございます。
チェックをはずしてその時は消えてはくれるのですが
次回エクセルを起動させたりすると、ツールバーが表示されてしまうんです

Re: 質問です  msat - 2005/02/21(Mon) 17:09 No.536


1.Excelの「ツール」-「アドイン」の”Crystal Reports”チェックを外す。
2.同「表示」-「ツールバー」に、”Crystal”があればチェックを外す。
  また、同じく「表示」-「ツールバー」-「ユーザー設定」もご覧ください。

レポートでの条件指定について  ひろみ - 2005/02/16(Wed) 21:00 No.525

はじめまして。

VBから以下のような手順で値をレポートファイルにセットしています。


  CrystalReport.Formulas(0) = "date='20050216'"


VBより渡された値をレポートファイル側で条件に指定する方法を
どなたかご存知ありませんか?


よろしくお願いします。


環境:VB6+SP6
OS:WinXP+SP2
クリスタルレポート:VB6バンドルの4.6.1

Re: レポートでの条件指定...  Kimberly - 2005/02/17(Thu) 10:12 No.526

ひろみ様

CrystalReport.Formulas(0) = "date='20050216'" の date は、式フィールドの名称ではないでしょうか。レポートの中に式フィールドで同一名称が存在すれば、その内容を書き換えたことになると思います。
この式フィールドをレポートに挿入するあるいは、レコード選択式に利用することができると思います。

Re: レポートでの条件指定...  ひろみ - 2005/02/17(Thu) 13:28 No.529

Kimberly 様

返信ありがとうございました。
レコード選択式で条件に指定することができました。


画像ファイルの貼り付けについて  超初心者 - 2005/02/09(Wed) 14:09 No.513

はじめまして。
クリスタルレポートで質問です。
環境は、Windows2000 SQLServer2000 VB6 CrystalReportV10です。

@帳票に画像ファイル(PNG形式)を貼り付けて(画像は、可変でプログラムより指定)印刷をかける処理を行おうとしているのファイルをクリスタルレポート上に読みこんで印刷かけるやり方を教えて頂けないでしょうか?
(画像ファイルをSQLServer上に取り込んでおいて印刷かける方法ならできました)

AVB6でのPDFファイルへの出力方法を教えて頂けないでしょうか?
( 探しましたが.NETの記述ばかりしかないもので・・・)

よろしくお願い致します。
Re: 画像ファイルの貼り付...  Kimberly - 2005/02/11(Fri) 23:40 No.515

超初心者様

解決しましたか?すでに解決済みでしたら、無視してください。
@製品付属のサンプルがあります。でも、ビットマップ(bmp形式)を利用したものです。png形式に置き換えて試してはどうですか。
C:\Program Files\Crystal Decisions\Crystal Reports 10\Samples\jp\Code\RDC\Visual Basic\Load Picture Demo\
A以下のような感じでコード記述します。
Dim ExOpt As CRAXDRT.ExportOptions
Set ExOpt = Reportオブジェクト.ExportOptions
'出力先
ExOpt.DestinationType = crEDTDiskFile
'ファイル名
ExOpt.DiskFileName = App.Path & "\test.pdf"
'PDF
ExOpt.FormatType = crEFTPortableDocFormat
'実行
Reportオブジェクト.Export False
Re: 画像ファイルの貼り付...  超初心者 - 2005/02/14(Mon) 10:36 No.518

Kimbery様

回答ありがとうございます。

@早速やってみましたがPNGではうまくいかないみたいです。
bmpまたはGIFにしてならうまくいったのでそれで対処しようと思います。

Aこれからやってみます。

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

Re: 画像ファイルの貼り付...  超初心者 - 2005/02/14(Mon) 16:14 No.521

たびたびすいません。追加で質問です。

複数帳票を1つのPDFファイルに出力しようとしているのですが
帳票毎にイラスト画像を変えることができません。

何か良い方法はないでしょうか?
アドバイスよろしくお願い致します。
Re: 画像ファイルの貼り付...  Kimberly - 2005/02/17(Thu) 10:16 No.527

複数レポートを1つのPDFファイルに出力することはできないと思いますが・・
1つのレポートを1つのPDFファイルに出力し、VBコードで複数のPDFファイルを繋ぎ合わせる以外ないと思います。試したことがないのでうまくいくかわかりません。


| 1| 2| 3| 4| 5|