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ファイルを繋ぎ合わせる以外ないと思います。試したことがないのでうまくいくかわかりません。