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

左右でレイアウトの違う帳票は作成できますか?  masa - 2004/09/21(Tue) 17:08 No.221

masaといいます。
CrystalReport for .NETで質問があります。


左半分と右半分で異なるレイアウトの帳票を作成しなければ
なりません。
帳票を縦に半分に区切ることはできるのでしょうか?

説明がわかりにくく申し訳ありませんが、
ご存知の方はご教示願います。
宜しくお願い致します。
Re: 左右でレイアウトの違...  もり - 2004/09/21(Tue) 17:11 No.222

はじめまして。もりと申します。
サブレポートを使用したらいかがですか?
一応、実現可能であると思われます。
Re: 左右でレイアウトの違...  猿町 - 2004/09/22(Wed) 12:16 No.229

masa様、

もり様の言われるようにサブレポートで実現可能ですが、複数ページに跨って表示するようなレポートではどちらか先の改ページの条件に到達したときにもう一つのレポートも改ページされて期待する結果にならないこともあります。
そのため、左右異なるレポートは、同一条件で改ページが発生するようなものでなければいけないと思います。
Re: 左右でレイアウトの違...  masa - 2004/09/22(Wed) 17:26 No.230

もり様 猿町様

masaです。
ご返答ありがとうございます。

サブレポートで作成してみましたが、猿町様のご指摘通り
複数ページに跨る場合は、改ページ条件が同じではないため
結果がおかしくなります。

またいろいろ使ってみて考えてみます。

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

ページ番号について  有馬 - 2004/09/21(Tue) 18:24 No.223

クリスタルレポート8で質問があります。

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

の構造のレポートで、フィールドエクスプローラの特殊フィールドの「ページ数(N/M)」を使ってレポートの一番下の部分に出力させて、
一番上の部分にはグループ1のレポートも「ページ数(N/M)」を使って表示させたいのですが、うまくいきません。
グループフッターのセクションの書式で「ページ番号をリセット」にするとレポート上部の表示はうまくいくのですが、下部の表示も同じようになるし、うまくいきません。こ
どなたかわかる方いらっしゃればご教示ねがいます。
Re: ページ番号について  猿町 - 2004/09/21(Tue) 23:04 No.224

有馬様、

本掲示板のNO173.にも同様な質問があります。
いろいろ試しましたが、うまく表示できる方法が見つかりませんでした。
問題はレポートの総ページ数、あるいは、グループ単位の総ページ数の求め方です。
どちらかひとつは特殊フィールドで表示可能ですが、もう片方の総ページを求める方法が見つかりませんでした。
猿町様へ  有馬 - 2004/09/22(Wed) 09:22 No.225

わざわざお調べいただいたようで、ありがとうございます。
本掲示板をみてみると猿町様はかなりお詳しいようで。参考になるものも多く助かります。ありがとうございました。
Re: ページ番号について  猿町 - 2004/09/22(Wed) 10:08 No.227

有馬様、

最近、製品版Crystal Reports 9 を利用していろいろといじってます。
でも、.NET関連は全然わからないので.NET関連は回答は遠慮しています。

本件は、残念ながら、未だにわかりません。
一度、外部に値を保持することができれば、可能であると思いますが・・

猿町様  有馬 - 2004/09/22(Wed) 10:16 No.228

そんなに詳しく理解できててうらやましいです。。
”外部に値を保持する”ですか。試してみます!!


複数帳票印刷時のページ毎のフッタ  もり - 2004/09/21(Tue) 13:09 No.220

はじめまして。もりと申します。
現在、1Actionで複数帳票を印刷する部分を担当しており、問題が発生しております。
サブレポート内にグループヘッダ/フッタを追加し、2ページにわたる情報を作成し、印刷したのですが、
ヘッダに関しては、なんとかページ毎に出力することができたのですが、
フッタは、2ページ目の最後にしか出力されませんでした。
どのようにすれば、1ページ目のフッタとして出力されるのか、ご教授願います。
Re: 複数帳票印刷時のペー...  猿町 - 2004/09/22(Wed) 09:59 No.226

もり様、


サブレポートにグループヘッダとフッタを挿入して、そのグループの表示が2ページ以上に跨る場合、グループヘッダはページ毎に表示されるがグループフッタは最後のページしか表示されないという問題でしょうか。
ページ毎にグループヘッダを出力のオプションを利用しているわけですね。
このオプションを設定してもグループフッタは、グループヘッダのようにページ毎に表示することはできません。
同一グループ内の最後のデータを表示した後にグループフッタを表示することになります。
そこで、2ページ以降のページ毎にグループフッタの内容を表示する方法ですが、
例えば、詳細セクションを利用します。この詳細セクションにグループフッタの内容をコピーし、挿入します。
ただ。デザインのイメージが分かりませんので、新しく挿入した詳細セクションで実現可能であるか自信はありません。
あと、1ページに表示する件数を固定にします。これは、グループフッタの内容を詳細セクションで表示させるために、同一ページ内で表示する最後のデータを判別できるようにします。
以下は、本掲示版のNo.195の応用です。(1ページに20行(レコード)の場合)
グループヘッダに以下の式フィールドを挿入します。
NumberVar lineNumber := 20;
NumberVar lineCounter := 0;


次に詳細aに以下の式フィールドを挿入します。
NumberVar lineNumber;
NumberVar lineCounter;
lineCounter := lineCounter + 1;
lineCounter := Remainder(lineCounter, lineNumber);


詳細bの出力後に改ページのオプションの条件式に以下の式を挿入します。
WhilePrintingRecords;
NumberVar lineNumber;
NumberVar lineCounter;
// 余り0の場合、
If Remainder(lineCounter, lineNumber) = 0 Then
// グループ内の最後のデータ ?
(If lineCounter = Count({xxxx.field1},{xxx.grfield1}) Then
// 改ページしない
   False
  Else
// 改ページする
   True
)
Else
// 改ページしない
False


さらに詳細bの非表示の条件式に以下の式を挿入します。
WhilePrintingRecords;
NumberVar lineNumber;
NumberVar lineCounter;
// グループ内のレコード件数が20以下か?
If Count({xxxx.field1},{xxx.grfield1}) < lineNumber Then
True
// グループ内の最後のデータか?
Else if lineCounter = Count({xxxx.field1},{xxx.grfield1}) Then
True
Else
// 1ページで表示可能な場合も非表示
lineCounter < lineNumber


この結果、以下の表示イメージとなると思います。
同一グループの内容が1ページで表示される場合、
グループヘッダ
詳細a
詳細b (非表示)
グループフッタ


同一グループの内容が2ページ以上で跨って表示される場合、
(1ページ目〜最終ページ−1まで)
グループヘッダ
詳細a
詳細b (ページの最後のデータのみ表示)


(最終ページ)
グループヘッダ
詳細a
詳細b (非表示)
グループフッタ


簡単なレポートで試したので複雑なもので期待されるような表示できるかわかりません。
上記を参考にして、応用して見てください。


教えてください。  - 2004/09/17(Fri) 17:34 No.213

テキストオブジェクトを縦書きにすることはできないのでしょうか?
ver.8.5を使用しています。

よろしくお願いします。
Re: 教えてください。  むらちゃん - 2004/09/17(Fri) 19:17 No.214







むのあとに改行 らのあとに改行・・・
テキストオブジェクトをたてに長くすればいいんじゃないでしょうか

Re: 教えてください。  猿町 - 2004/09/17(Fri) 22:54 No.215

い 様、

Crystal Reports 9 では、挿入されたテキストオブジェクトの書式設定から複数行に出力をチェックし、そのオブジェクトの横幅を1文字のみ表示できるように調整します。さらに、テキストオブジェクトのフォントは、縦書きフォントを選択し、
書式設定からテキストの回転を270度とすることでできました。
但し、縦書きフォントは全角文字のみ対象のため、半角文字は270度回転された状態で表示されますので注意してください。

Re: 教えてください。  むらちゃん - 2004/09/19(Sun) 16:10 No.217

便乗質問で申し訳ないです。

縦書きフォントって名称を教えていただけませんでしょうか?
よろしくお願いいたします。

Re: 教えてください。  猿町 - 2004/09/20(Mon) 01:13 No.218

い 様、

縦書きフォントは、MSワード等でも利用できる Windows 標準に存在しているものではないでしょうか。@から始まるフォント名が縦書きフォントです。
例えば、@MS P ゴシック とか・・

Left内をバイト数で数えたい  しんちゃん - 2004/09/16(Thu) 13:18 No.206

クリスタルレポートのLeft  Right  Mid関数は、何文字目というふうに文字数で
数えますよね。

印字先の領域を考慮して、全角、半角が混在したときにバイト数で数えたいの
ですが、よい方法はないでしょうか。
Re: Left内をバイト数で数...  猿町 - 2004/09/17(Fri) 09:23 No.208

しんちゃん様、

以前、メーカーのサイトにバイト数を取得できる関数がダウンロードできるページがありました。
でも、今は見当たりませんね。
バイト数を求める方法は、自作でユーザー定義関数を作成することで可能です。
詳細な手順はわかりませんが、製品版のCrystal Reports の開発者ガイドに説明がありますので見てはいかがですか。
Re: Left内をバイト数で数...  しんちゃん - 2004/09/17(Fri) 13:28 No.209

猿町様ありがとうございます。

結局、長いステップで見た目もよくないですが、強引に作成しました。
いろんな関数が充実していれば工数も削減できるんですがねえ。

Re: Left内をバイト数で数...  猿町 - 2004/09/17(Fri) 14:24 No.210

しんちゃん様、

すごいです。バイト数を取得する関数なしで作成することができましたか。
それは、文字列の文字を一つずつ文字コードに変換して
半角、全角を区別しているのですかね。
今後のためにも教えてください。

ParameterFieldについて  ぎょたく - 2004/09/15(Wed) 09:48 No.200

こんにちは。
ASP(非.NET)からCrystalReportViewer(COM)を利用してレポートをブラウザ上に表示させています。
レポート上でParameterFieldが定義されているのですが、ユーザにパラメータ値を入力させずに、プログラム(ASP)からこのパラメータに値を渡してレポートを表示するにはどうすればよいのでしょうか。
Re: ParameterFieldについて  猿町 - 2004/09/15(Wed) 14:22 No.202

ぎょたく様、

Report Application Server についてはわかりませんが、RDCを利用したASPコードを記述しているものと思います。
この場合、以下のような記述でパラメータの値をコードから渡すことができます。
Session("oRpt").ParameterFields.GetItemByName("StringParam").AddCurrentValue(CStr("ABCDEFGHIJ"))

パラメータのデータタイプに応じて、代入値を変換することで設定が可能です。
日付の場合、以下の通りです。
Session("oRpt").ParameterFields.GetItemByName("DateParam").AddCurrentValue(CDate("2004/09/15"))
Re: ParameterFieldについて  ぎょたく - 2004/09/15(Wed) 16:06 No.204

猿町さん:

Report Application Server(RAS)はReport Designer Component(RDC)とは別物です。
ですが、猿町さんからのコメントも参考にしながらWebで調べまくった結果、ようやく
望み通りの動作が実現できました。
将来、どなたかの参考になるかもしれませんのでソースを残しておきます。

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

<%@CodePage=65001%>
<%
Option Explicit
Response.ContentType = "text/html; charset=utf-8"

Response.ExpiresAbsolute = Now() - 1

Dim strReportName
strReportName = Request.QueryString("ReportName")

Dim objectFactory
Dim clientDoc
Dim viewer

Set objectFactory = CreateObject("CrystalReports.ObjectFactory.2")
Set clientDoc = objectFactory.CreateObject("CrystalClientDoc.ReportClientDocument")
Set viewer = objectFactory.CreateObject("CrystalReports.CrystalReportViewer")

clientDoc.Open strReportName
clientDoc.DatabaseController.Logon "user1", "pass1"

Dim NewParam
Set NewParam = ObjectFactory.CreateObject("CrystalReports.ParameterField")
With clientDoc.DataDefinition.ParameterFields
.Item(0).CopyTo NewParam
Dim NewVal
Set NewVal = ObjectFactory.CreateObject("CrystalReports.ParameterFieldDiscreteValue")
NewVal.Value = CStr("param1")
NewParam.CurrentValues.Add NewVal
clientDoc.DataDefController.ParameterFieldController.Modify .Item(0), NewParam
End With

viewer.Name = "page"
viewer.IsOwnForm = true
viewer.IsOwnPage = true
viewer.IsDisplayGroupTree = false
viewer.HasCrystalLogo = false

viewer.URI = "pageViewer.asp?ReportName=" + Server.URLEncode(strReportName)

viewer.ReportSource = clientDoc.ReportSource
viewer.ProcessHttpRequest Request, Response

%>

ログイン画面を表示させたくない  ぎょたく - 2004/09/15(Wed) 09:30 No.199

こんにちは。
ASP(非.NET)からCrystalReportViewer(COM)を利用してレポートをブラウザ上に表示させています。
このときにRefreshメソッドを呼び出すとユーザIDとパスワードの入力プリンプトが表示されるのですが、ユーザはすでにこのWebアプリにはログインしているので、再度入力させる必要はありません。
単純にEnableLogonPromptプロパティをfalseにしたらエラーが出てしまいます。
プログラム内部(レポート自体でも可)でユーザIDとパスワードをセットするにはどうすればよいのでしょうか?
Re: ログイン画面を表示さ...  猿町 - 2004/09/15(Wed) 14:36 No.203

ぎょたく様、

ASPコードでユーザー名、パスワードの設定は行なっていますか。
例えば、こんなかんじです。
Set mainReportTableCollection = Session("oRpt").Database.Tables
For Each mnTable in mainReportTableCollection
With mnTable.ConnectionProperties
   .Item("user ID") = "user"
   .Item("Password") = "password"
   .Item("DSN") = "Pubs Sample Database"
   .Item("Database") ="pubs"
End With
Next

バージョン  ぎょたく - 2004/09/15(Wed) 09:49 No.201

すみません。下記2つの書き込み。
CrystalReports9 Advanced + Report Application Server
です。

罫線について  ari - 2004/09/09(Thu) 20:29 No.193

--------------
--------------
--------------
--------------
上記のように、帳票ではじめから罫線を引いておく方法を教えて下さい。
データが0件の場合でも表示させたいです。
テーブルからデータをただ引っ張ってくるだけなんすが・・・。

Re: 罫線について  猿町 - 2004/09/14(Tue) 06:32 No.195

ari様、


レポートに罫線を予め引いておく方法ですが、
Crystal Reports 9 では、ページヘッダーに罫線を引くことでできます。
1. ページヘッダーの領域に罫線を必要な行数分挿入します。
2. この時、行間は、詳細で表示したいデータの高さに合わせます。
3. ページヘッダーには、以下の式フィールドを作成し、挿入します。
(例えば、1ページに20行表示する場合)
WhilePrintingRecords;
NumberVar lineNumber := 20;
NumberVar lineCounter := 0;
4. 1ページに表示する行数を計算する式を作成し、詳細に挿入します。
WhilePrintingRecords;
NumberVar lineNumber;
NumberVar lineCounter;
lineCounter := lineCounter + 1;
lineCounter := Remainder(lineCounter, lineNumber);
5. ページヘッダーの続くセクションをアンダーレイのオプションをチェックします。
6.詳細の出力後に改ページのオプションの条件式に以下の式を挿入します。
WhilePrintingRecords;
{@上記4の式フィールド名} = 0
固定行数は、予め上記の変数lineNumberに設定することで変更可能です。
また、グループヘッダーでも同様に罫線を挿入して実現することもできます。

Re: 罫線について  ari - 2004/09/14(Tue) 14:57 No.198

ありがとうございます。勉強になりました。

ページ番号の計算方法  ゴルゴ - 2004/09/02(Thu) 18:35 No.173

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

グループ毎のページ番号(N/M)と全体のページ番号(N/M)を表示したいと考えています。

しかし、グループ毎のページ番号はグループフッタの設定で出力後にページ番号をリセットすれば出ますが、全体ページも同じようにクリアされてしまいます。

二つのページ番号を出力するにはどうしたら良いでしょうか?

ご教授下さい。
よろしくお願い致します。
Re: ページ番号の計算方法  猿町 - 2004/09/02(Thu) 23:48 No.175

ゴルゴ様へ、

どちらかのページ番号は、式フィールドを利用してカウント・アップしてください。
例えば、全体のページ番号は、3つの式フィールドを利用します。
1.レポートヘッダーに挿入する式フィールド
WhilePrintingRecords;
NumberVar 全体ページ番号:=0;
2.ページヘッダーあるいは、ページフッターに挿入する式フィールド
WhilePrintingRecords;
NumberVar 全体ページ番号;
全体ページ番号:=全体ページ番号+1;
3.全体ページ番号を表示する箇所に挿入する式フィールド
WhilePrintingRecords;
NumberVar 全体ページ番号;
この例の場合、3.の式フィールドはいりませんね。
2.の式フィールドでカウント・アップして、そのまま表示することがでます。
お試しください。
Re: ページ番号の計算方法  ゴルゴ - 2004/09/03(Fri) 10:56 No.177

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

もう一つ質問させて下さい。
回答頂いた方法で全体のページ番号が取得できましたが、
ページ総数の取得方法を教えて下さい。
N/Mの方式で表示したいと考えています。

どうか、よろしくお願いいたします。
Re: ページ番号の計算方法  猿町 - 2004/09/03(Fri) 12:22 No.179

前回の回答は、ちょっと説明が間違ってましたね。
>2.ページヘッダーあるいは、ページフッターに挿入する式フィールド
>WhilePrintingRecords;
>NumberVar 全体ページ番号;
>全体ページ番号:=全体ページ番号+1;
これは、各ページのページ番号を表示します。
それと同時にページ全体の総ページ数は、以下のように表示します。
WhilePrintingRecords;
NumberVar 全体ページ番号;
全体ページ番号:=全体ページ番号+1;
全体ページ番号 & "/" & Totalpagecount
式フィールドのTotalPageCount関数を利用します。
お試しください。

Re: ページ番号の計算方法  ゴルゴ - 2004/09/03(Fri) 19:48 No.181

猿町さん、ご回答ありがとうございます。

ご回答頂いた式フィールドは全体ページの為に使用します。
グループ毎のページに特殊フィールドを使用していて、
グループフッターで出力後にページ数をリセットしています。
その関係でTotalPageCountもクリアされてしまいます。
レポートヘッダでTotalPageCountを変数に格納して表示してみましたが、
駄目でした。

式でトータルページ数を取得する方法は無いのでしょうか?

何度も質問してしまって申し訳ありませんが、
ご教授よろしくお願いいたします。
Re: ページ番号の計算方法  猿町 - 2004/09/03(Fri) 22:17 No.182

ゴルゴ様へ、

ページのリセットしてましたね。
それでは、レポートヘッダーにTotalPageCount関数を利用した式フィールドを挿入します。その結果を変数に代入して、その変数を表示したい箇所で参照するようにしてお試しください。
レポートヘッダーなら、一番最初に処理が行なわれて、ページの総数ページを計算してくれるはずです。一度、変数に代入し保持すれば、グループでのページのリセットが発生しても関係ありません。
Re: ページ番号の計算方法  ゴルゴ - 2004/09/04(Sat) 00:30 No.187

猿町さん、ご回答ありがとうございます。

色々やってみましたが、レポートヘッダで変数に入れてもクリアされてしまいます。
評価時期とかを入れても駄目なようです。

もうちょっと細かいアドバイス等ありましたら、ご教授願います。
やり方が悪いのでしょうか?

よろしくお願いいたします。
Re: ページ番号の計算方法  猿町 - 2004/09/14(Tue) 07:54 No.197

ゴルゴ様へ、

すみません。TotalPageCount関数を利用しても駄目でした。
レポートにグループ毎のページ番号(N/M)と全体のページ番号(N/M)を表示することはできないようです。


無題  TAKE - 2004/09/04(Sat) 20:25 No.191

後ろにいってしまったので、もう一度掲載させて頂きました。

申し訳ありませんが、教えてください。

行単位の集計ですが、

 L1    | L2           | L3       |
--------------------
0001 |          12  |       32 |
0001 |          20  |       32 | 
0002 |          15  |       15 |

L1がKEY で、KEY単位のL2の集計結果をL3に設定したいです。
L2がDBの検索結果を加工した結果なのでL3までSQLで計算するのは
つらいので、L3はクリスタルレポートで計算したいです。

よろしくお願い致します。
Re: 無題  猿町 - 2004/09/14(Tue) 06:49 No.196

TAKE様、


L1    | L2           | L3       |
--------------------
0001 |          12  |       32 | < この部分は無理でしょう。
0001 |          20  |       32 | 
0002 |          15  |       15 |

L1    | L2           | L3       |
--------------------
0001 |          12  |       12 | < これなら可能でしょう。
0001 |          20  |       32 |  
0002 |          15  |       15 |

この場合、積算合計フィールドを利用してみてください。
L2のフィールドを選択して、積算合計フィールドを挿入します。
集計するフィールドは、L2。
集計のタイプは、合計。
評価は、各レコードごと。
リセットは、フィールドの変更時でL1。


ページ合計の求め方  Luci - 2004/09/09(Thu) 19:53 No.192

始めまして。
クリスタルレポートでのページ合計の求め方がわからず悩んでおります。

≪条件≫
・グループ毎に金額を明細表示させます。
  Aグループ
     \100
     \200
     \300
     \400
     \500
  Bグループ
     \400
     \500
     \600

・グループが同じでもページが変わる毎に小計として頁計を求めます。
  Aグループ
     \100
     \200
     \300
  頁計 \600
>改ページ
  Aグループ
     \400
     \500
  頁計 \1000
>改ページ
  Bグループ

以上の場合に頁計を求める方法がわかりません。
ご存知の方がいらっしゃいましたら教えて下さい。
お願いします。
Re: ページ合計の求め方  Luci - 2004/09/13(Mon) 17:36 No.194

明細の値を配列に覚えておき、頁毎に合計を計算して対応しました。

無題  猿町 - 2004/09/03(Fri) 22:52 No.184

TAKE様、

フィールドの書式設定の非表示オプションの条件式を利用することで
できると思います。
こんなかんじです。
//L1の場合
WhilePrintingRecords;
{xxx.L1} = Previous({xxx.L1})
なお、非表示オプションのチェックは不要です。

//L2の場合
WhilePrintingRecords;
{xxx.L1} = Previous({xxx.L1}) AND {xxx.L2} = Previous({xxx.L2}) 
なお、非表示オプションのチェックは不要です。

それぞれのフィールドの非表示の条件式を利用することになります。
Re: 無題  猿町 - 2004/09/03(Fri) 22:53 No.186

この書き込みは、NO.183の返信です。
何度も投稿ミスして申し訳ございません。
Re: 無題  TAKE - 2004/09/04(Sat) 18:28 No.188

猿町様

回答ありがとうございました。
早速、試してみます。

Re: 無題  TAKE - 2004/09/04(Sat) 19:37 No.190

猿町様

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

集計について教えてください  TAKE - 2004/09/04(Sat) 19:18 No.189

また教えて下さい。

行単位の集計ですが、

 L1    | L2           | L3       |
--------------------
0001 |          12  |       32 |
0001 |          20  |       32 | 
0002 |          15  |       15 |

L1がKEY で、KEY単位のL2の集計結果をL3に設定したいです。
L2がDBの検索結果を加工した結果なのでL3までSQLで計算するのは
つらいので、L3はクリスタルレポートで計算したいです。

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



教えて下さい  TAKE - 2004/09/03(Fri) 22:35 No.183

教えてください。

列単位に前の行と同一レコードを非表示にしたいのですが、出来るでしょうか?

 L1    | L2           | L3       |
--------------------
0001 | AAAAA   |   001   |
0001 | AAAAA   |   002   | 
0002 | AAAAA   |   001   | 



 L1    | L2           | L3       |
--------------------
0001 | AAAAA   |   001   | 
         |                |   002   | 
0002 | AAAAA   |   001   |

という具合にしたいのですが・・・・

更に、L1がKEYなのでL2が全ての行一緒でも
KEY(L1)の先頭行は全て表示したいです。

よろしくお願いします。

Re: 教えて下さい  猿町 - 2004/09/03(Fri) 22:52 No.185

TAKE様、

フィールドの書式設定の非表示オプションの条件式を利用することで
できると思います。
こんなかんじです。
//L1の場合
WhilePrintingRecords;
{xxx.L1} = Previous({xxx.L1})
なお、非表示オプションのチェックは不要です。

//L2の場合
WhilePrintingRecords;
{xxx.L1} = Previous({xxx.L1}) AND {xxx.L2} = Previous({xxx.L2}) 
なお、非表示オプションのチェックは不要です。

それぞれのフィールドの非表示の条件式を利用することになります。

PrintReportとPrintToPrinter  みめんと - 2004/08/31(Tue) 15:12 No.171

こんにちは。大変に参考にさせていただいております。

質問なのですが、現在外字の関係でPrintReportを使って印刷をしております。
私の作っているプログラムでは、ユーザーがプリントダイアログの印刷ボタンを押して実際に印刷をしたのか、それともキャンセルボタンを押して印刷を中断したのかで、別の処理を行うので、PrintReportですとそのあたりの処理が全てCrystalReportsのクラスライブラリ任せになりまったく把握ができません。

1.PrintReportを使って、クラスライブラリが開いたプリントダイアログのウィンドウハンドル取得や、ダイアログでユーザーがどういう入力を行ったかを把握する方法
2. PrintToPrinterで、外字を確実に印刷する方法

1か2のどちらかで良い方法はないでしょうか。
これらの方法が無理となるといよいよプリンタの状態監視しかなかったりするのですが・・・
Re: PrintReportとPrintTo...  猿町 - 2004/09/03(Fri) 00:13 No.176

みめんと様へ、

1.の印刷ダイアログのキャンセルをハンドルする方法ですが、Crystal Reortsではできません。これは、.NETも同じだと思います。.NETは使っていませんが、VB等でもできませんでした。VB6/RDCで印刷した場合、レポートのプリントジョブの状態をチェックすることはできます。印刷後、(ページ数が少ないと意味がないかも)PrintingStatusオブジェクトのProgressプロパティの内容から状態が確認できます。
キャンセルされていれば、キャンセルの状態がリターン値になります。

2.ですが、質問の内容がよくわかりません。外字の印刷で問題があるのでしょうか?あと、Crystal Reports のバージョンによっても違ってくると思います。
Crystal Reports 9 ではOS環境により文字化けしました。
Re: PrintReportとPrintTo...  みめんと - 2004/09/03(Fri) 11:07 No.178

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

VS.NET付属のCrystal ReportsでPrintToPrinterを用いたところ、外字の一部が文字化けしました。
Re: PrintReportとPrintTo...  猿町 - 2004/09/03(Fri) 12:29 No.180

みめんと様へ、

メーカーのサイトにパッチがありますので試したらいかがですか。
.NET環境が無いので試していないので現象が回避しているか不明ですが・・
パッチは、NET2002と.NET2003の2種類がありました。
.NET2002は、
http://support.businessobjects.com/communityCS/FilesAndUpdates/crnet10win_jp.zip.asp
です。
.NET2003は、
http://support.businessobjects.com/communityCS/FilesAndUpdates/crnet11win_jp.zip.asp
です。

帳票出力について。  まち - 2004/09/02(Thu) 19:08 No.174

はじめまして、まちと申します。

以前フジーさんが同じ質問をされていたのですが、途中で終わってしまっていましたので再度質問させていただきます。

クリスタルレポートを使用して、帳票を出力することになったのですが、
MDBのテーブルのデータをテキストボックスのみを配置したクリスタルレポートのテキストボックスに結びつけて以下のような表示の表にしたいのですが、できるのでしょうか。

code | message  |   code | message
-----------------------------
0001 | xxxxxxx   |   0004 | xxxxxxxx
0002 | xxxxxxx   |   0005 | xxxxxxxx
0003 | xxxxxxx   |   0006 | xxxxxxxx

こんな感じです。

HPのほうで、DataSetをドラッグアンドドロップしているところを、コードで行う方法をご教授願います。
言語はVB.NETです。
よろしくお願いします。




CrystalReportsバージョンアップについて(7→9)  初心者 - 2004/08/23(Mon) 15:38 No.162

はじめまして。クリスタルレポートは殆ど初心者です。
(VB4付属のものは使ったことがあるのですが、余りにも変わっていて
 以前の知識は役に立たないと思います。)
先週から色々試しながら開発を行っているのですが、どうしても
上手くいかず困っていたところ、この掲示板に出会いました。
お忙しいところ申し訳ございませんが、どなたかご教授頂けませんでしょうか?
宜しくお願い致します。

開発環境
 OS:Windows2000 SP4
 言語:ASP(HTML・VBS・JavaScriptを組み合わせて使用。.NETではありません。)

質問内容
 「CrystalReportsの7から9へのバージョンアップ方法について」

 現在、CrystalReports7で動作しているWEBシステムを、9で動作できるよう
 バージョンアップ対応を行っているのですが、上手くいきません。
 修正を行ったプログラムを動作させると、実行時エラー等は発生しないの
 ですが、WEB画面にCrystalReportsの枠のみ表示され、内容が表示されません。
 (枠の中には、WEB上で画像等の読み込みに失敗したときに表示されるような
  ×マークが表示されます)


 修正した箇所は以下の通りです。
  (1)参照するDLLの変更(「CRViewer.dll」から「crviewer9.dll」に変更)
  (2)プロパティ名をバージョンアップ対応
    (プロパティ「Has Stop Button」を「EnableStopButton」に変更する、等)
  (3)9になって無くなったプロパティ「MorePrintEngineErrorMessages」を
    記述してある部分を全てコメント化
  (4)プロパティ「ParameterPromptingEnabled」を記述した部分でエラーが
    発生したが、恐らくこのプロパティも9で無くなったものと
    思われたためコメント化
  (5)CrystalReportsオブジェクトの変更
   (今まで「Server.CreateObject("Crystal.CRPE.Application")」と
    していた記述を
   「Server.CreateObject("Crystalruntime.Application.9")」に変更)
  (6)7で作成した「.rpt」ファイルを9上で開いて上書き保存し、
    9対応させる

  (実際のコーディングの一部)
    ------------ 修 正 前 ------------------
    <OBJECT ALIGN = LEFT ID="CRViewer"  WIDTH=100% HEIGHT=95%
     CLASSID="CLSID:C4847596-972C-11D0-9567-00A0C9273C2A"
     CODEBASE="/viewer/activeXViewer/CRViewer.dll#Version=1,2,0,30">
     <PARAM NAME="Report Name" VALUE="rptserver.asp">
       <PARAM NAME="Show Group Tree" VALUE=1>
       <PARAM NAME="Show Toolbar" VALUE=1>
     <PARAM NAME="Has Group Tree" VALUE=1>
     <PARAM NAME="Has Navigation Control" VALUE=1>
     <PARAM NAME="Has Stop Button" VALUE=1>
     <PARAM NAME="Has Print Button" VALUE=1>
     <PARAM NAME="Has Zoom Control" VALUE=1>
     <PARAM NAME="Has Close Button" VALUE=0>
     <PARAM NAME="Has Progress Control" VALUE=1>
     <PARAM NAME="Has Search Button" VALUE=1>
     <PARAM NAME="Has Refresh Button" VALUE=1>
     <PARAM NAME="Can Drill Down" VALUE=1>
     <PARAM NAME="Has Animation Control" VALUE=1>
    </OBJECT>


    ------------ 修 正 後 ------------------
    <OBJECT ALIGN = LEFT ID="CRViewer"  WIDTH=100% HEIGHT=95%
     CLASSID="CLSID:8767A745-088E-4CA6-8594-073D6D2DE57A"
        CODEBASE="/crystalreportviewers/ActiveXViewer/
         crviewer9.dll#Version=9,2,1,175"">
     <PARAM NAME="Report Name" VALUE="rptserver.asp">
     <PARAM NAME="DisplayGroupTree"         VALUE=1>
     <PARAM NAME="DisplayToolbar"           VALUE=1>
     <PARAM NAME="EnableGroupTree"          VALUE=1>
     <PARAM NAME="EnableNavigationControls" VALUE=1>
     <PARAM NAME="EnableStopButton"         VALUE=1>
     <PARAM NAME="EnablePrintButton"        VALUE=1>
     <PARAM NAME="EnableZoomControl"        VALUE=1>
     <PARAM NAME="EnableCloseButton"        VALUE=0>
     <PARAM NAME="EnableProgressControl"    VALUE=1>
     <PARAM NAME="EnableSearchExpertButton" VALUE=1>
     <PARAM NAME="EnableRefreshButton"      VALUE=1>
     <PARAM NAME="EnableDrillDown"          VALUE=1>
     <PARAM NAME="EnableAnimationControl"   VALUE=1>
    </OBJECT>

以上です。
上記の手順で間違っている部分や、まだ不足している手順等がありましたら
ご指摘頂けませんでしょうか?
また、こういったバージョンアップの方法等は確立されている
ものなのでしょうか?
お手数をお掛けして申し訳ございませんが
ご回答の程、宜しくお願い申し上げます。

Re: CrystalReportsバージ...  猿町 - 2004/08/26(Thu) 07:12 No.164

以下のメーカーのサイトにサンプルプログラムがありますよ。
http://support.businessobjects.com/communityCS/FilesAndUpdates/aspxmps9.exe.asp 
もうひとつ関連していそうな記事を見つけました。
http://support.businessobjects.com/library/kbase/articles/c2011492.asp  
この記事では、crystalreportviewers の仮想ディレクトリが作成されないと書いてあります。

>OBJECT ALIGN = LEFT ID="CRViewer"  WIDTH=100% HEIGHT=95%
>     CLASSID="CLSID:8767A745-088E-4CA6-8594-073D6D2DE57A"
>        CODEBASE="/crystalreportviewers/ActiveXViewer/
>         crviewer9.dll#Version=9,2,1,175"">


上記の修正後、crviewer9.dll を参照している仮想ディレクトリが存在していますか?
インターネット インフォメーション サービスの既定のWebサイトの中です。
サンプルでは、参照先は、/Viewer9/ActiveXViewer/ となっていました。
Re: CrystalReportsバージ...  初心者 - 2004/08/26(Thu) 09:02 No.166

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

これからお教え頂いたサイトを見てみたいと思います。
仮想ディレクトリについては作成してありますので、
大丈夫だと思います。

お忙しいところどうもありがとうございました。
Re: CrystalReportsバージ...  猿町 - 2004/08/26(Thu) 23:16 No.168

 初心者様へ

もう一つ記事を見つけました。
http://support.businessobjects.com/library/kbase/articles/c2015108.asp  
あと、トラブルシューティングの記事もありました。
http://support.businessobjects.com/library/kbase/articles/c2004405.asp 
ご参考まで。
Re: CrystalReportsバージ...  初心者 - 2004/08/27(Fri) 16:30 No.170

猿町様へ

度々ヒントを下さいまして、誠にありがとうございます。
当方、まだ不具合を解決できておらず、ソースコードに限らず、
環境面等、色々な方面から検証しているため、本当に助かります。
これから調べてみたいと思います。
どうもありがとうございます。

無題  猿町 - 2004/08/26(Thu) 23:15 No.167

初心者様へ

もう一つ記事を見つけました。
http://support.businessobjects.com/library/kbase/articles/c2015108.asp  
あと、トラブルシューティングの記事もありました。
http://support.businessobjects.com/library/kbase/articles/c2004405.asp 
ご参考まで。
Re: 無題  猿町 - 2004/08/26(Thu) 23:18 No.169

また、間違って投稿してしまいました。ごめんなさい。
これは、No.166 の返信です。

総合計の表示について  ZERO - 2004/08/19(Thu) 14:44 No.156


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

今、集計表をクリスタルレポートで作成しています。


各支社毎に[分類]がありまして、支社毎に合計を出力します。
また、レポートの最後には、全社の合計を[分類]毎に計算し出力します。


●イメージ
 支社    分類   点数 
 東京支社  A      70
                B         80
                C          65
                D          90
               合計     305
                       ・
              ・
              ・
  全支社   A     600
         B     800
         C     400
         D     900
        合計    3700 


この場合の、レポートの最後の[分類]毎に出力する方法が良く分かりません。
ご存知の方、ご教授ください。

Re: 総合計の表示について  猿町 - 2004/08/20(Fri) 13:09 No.159

この場合、式フィールドを利用して、分類毎に集計する方法でできると思います。
こんな感じで式フィールドを詳細セクションに挿入します。

//集計したい分類の数分の変数を用意する必要があります。
WhilePrintingRecords;
NumberVar a;
NumberVar b;
NumberVar c;
NumberVar d;
if {xxx.分類}="A" then
a:=a+{xxx.点数}
else if {xxx.分類}="B" then
b:=b+{xxx.点数}
else if {xxx.分類}="C" then
c:=c+{xxx.点数}
else if {xxx.分類}="D" then
d:=d+{xxx.点数}

上記の変数で集計された値を表示するための式フィールドを
分類の数分を用意して、レポートの最後に、以下の式を挿入します。
変数a の場合、以下のようになります。
WhilePrintingRecords;
NumberVar a;

あと、上記で利用している変数の初期化の宣言をレポートの先頭に挿入します。
WhilePrintingRecords;
NumberVar a:=0;
NumberVar b:=0;
NumberVar c:=0;
NumberVar d:=0;

集計結果を表示する式フィールド以外は計算のみに利用しているだけなので
非表示にします。
Re: 総合計の表示について  ZERO - 2004/08/24(Tue) 13:43 No.163


猿町 さんありがとうございました。

それぞれの分類ごとに変数を用意するということでできるんですね〜

ただ・・・
上の説明では書いていませんでしたが、分類はDBのマスタ上から取ってくるため、
数は可変なんです。
そういう場合は、やはり無理なのでしょうか・・・
Re: 総合計の表示について  猿町 - 2004/08/26(Thu) 08:55 No.165

そうですか、可変ですね。
その場合、サブレポートを利用してみましょう。
全支店の表示部分をサブレポートで表示するようにします。
このサブレレポートは、メインレポートと同一データベースを利用します。
挿入する場所は、メインレポートのレポートフッターで試してください。
サブレポートの場合、分類でグループを挿入します。
そして、集計したいフィールドとそのグループ毎の集計を挿入します。
ここまでは、グループで利用するフィールドが異なるだけで
メインレポートと同一手順で作成できると思います。
あとは、デザインを整えるために
レポートヘッダーに全支社を挿入します。これはテキストですよね。
これもデータベースからですか?
グループフッターに分類フィールドを挿入します。
レポートヘッダー、フッターとグループヘッダー以外は非表示にします。
その結果、サブレポートは、以下の表示イメージになると思います。

レポートヘッダー   全支社
グループフッター   A     600
グループフッター   B     800
グループフッター   C     400
グループフッター   D     900
レポートフッター   合計    3700 

メインレポートのデザインと合わせるように位置をずらすことで
問題ないと思います。
全支店をAの横に表示したい場合は、全支店をグループフッターに移動します。
この全支店の書式エディタから非表示の条件式に以下の式を書きます。
(非表示のチェックは不要です。)
WhilePrintingRecords;
GroupNumber <> 1;
これで、Aの行以外の全支店は非表示になります。

最初の回答は考えが足りませんでした。申し訳ございません。
お試してみてください。


Re:総合計の表示について  猿町 - 2004/08/20(Fri) 13:05 No.157

この場合、式フィールドを利用して、分類毎に集計する方法でできると思います。
こんな感じで式フィールドを詳細セクションに挿入します。

//集計したい分類の数分の変数を用意する必要があります。
WhilePrintingRecords;
NumberVar a;
NumberVar b;
NumberVar c;
NumberVar d;
if {xxx.分類}="A" then
a:=a+{xxx.点数}
else if {xxx.分類}="B" then
b:=b+{xxx.点数}
else if {xxx.分類}="C" then
c:=c+{xxx.点数}
else if {xxx.分類}="D" then
d:=d+{xxx.点数}

上記の変数で集計された値を表示するための式フィールドを
分類の数分を用意して、レポートの最後に、以下の式を挿入します。
変数a の場合、以下のようになります。
WhilePrintingRecords;
NumberVar a;

あと、上記で利用している変数の初期化の宣言をレポートの先頭に挿入します。
WhilePrintingRecords;
NumberVar a:=0;
NumberVar b:=0;
NumberVar c:=0;
NumberVar d:=0;

集計結果を表示する式フィールド以外は計算のみに利用しているだけなので
非表示にします。
Re:総合計の表示について  猿町 - 2004/08/20(Fri) 13:11 No.160

ごめんなさい。返信方法を間違えてしまいました。
この書き込みは破棄してください。
申し訳ございません。

データベースフィールドへの追加  しんちゃん - 2004/08/16(Mon) 16:27 No.154

初めまして。前任者から引き継いでクリスタルレポートを利用しています。

データベースフィールドの設定が完了しているプログラムがあります。
1)このうちのひとつの項目(文字型)の桁数を増やしたいのですが、どのようにして
 増やせばよいかわかりません。

2)最後にひとつ項目を増やしたいのですが、どのようにして増やせばよいか
 わかりません。

どなたか御指導願えませんでしょうか。よろしくお願いいたします。
Re: データベースフィール...  猿町 - 2004/08/20(Fri) 13:08 No.158

この質問内容は、データベースのフィールドですか?
私の理解が正しければ、クリスタルレポートからデータベースのフィールド追加、削除等の操作はできません。

プレビュー起動時にサブレポートのタブを表示する方法について  初心者 - 2004/08/18(Wed) 10:31 No.155

はじめまして。VB.NETと.NET2003のクリスタルレポートを利用しています。

今まで複数の帳票をそれぞれ別フォームでCrystalReportViewerを使用し表示させていたのですが、
今回の仕様でサブレポートを利用し、一画面で複数帳票を表示させることになりました。
そこで質問なのですが、メインレポート起動時にサブレポートのタグを表示させることは可能でしょうか?
CrystalReportViewerでメインレポートを表示した後、DrillDownイベントではタグが表示されるのですが・・・

ご存知の方がいらっしゃいましたら、ご教授ください。
宜しくお願いします。

P.S
各レポートごとにrptファイル、データセットは個別に用意しています。


フィールド定義ファイルと印刷ダイアログ  素人 - 2004/08/11(Wed) 21:14 No.153

クリスタルレポート9.0と.Netで開発してます。

コード上から印刷ダイアログを出して、クリスタルポートに設定を反映させる方法
とフィールド定義ファイルの場所を指定してデータベースの照合を行う方法を
探しています。

ご存知の方がいらっしゃいましたら、どうかご教示ください。
お願いします。


初めましてで失礼なんですが・・・  フジー - 2004/08/04(Wed) 14:09 No.146

初めましてフジーと申します。
このたびクリスタルレポートにより帳票を出力することになったのですが。
このHPに書かれていることの応用になると思うのですが。コードで生成したDataSet
をあらかじめテキストボックスのみを配置したクリスタルレポートのテキストボックス
に結びつける(?)というのは可能なのでしょうか?

このHPでいうとDataSetをドラッグアンドドロップしているところ。をコードで行う方法をご教授願います。
Re: 初めましてで失礼なん...  猿町 - 2004/08/04(Wed) 15:19 No.147

フジー様

質問内容から.NETを使っていますか?NETは使ったことがないからわかりませんが、VB6とCRのRDC機能と組み合わせで実現できます。
多分、.NETもCRのRDC機能を利用することができるので可能じゃないでしょうか。

Re: 初めましてで失礼なん...  フジー - 2004/08/04(Wed) 17:08 No.148

はい、VB.netで開発中です。

RDC機能というものを詳しく知らないのですが

RDC機能を使用すればデザイナではテキストボックスを配置のみの作成、
コードでのDataSetを割り当てられるのでしょうか?

もしよろしかったらRDC機能の概要、もしくは解説HPなどありましたら
ご教授お願いします。
Re: 初めましてで失礼なん...  猿町 - 2004/08/05(Thu) 12:46 No.150

フジー様

.NETは利用していないので、RDCと組み合わせたことがありません。ただ、.NETでもRDCは使えるはすです。.NETのCRにReport Designer Component (Craxdrt)が含まれていることが必要ですが・・(もってないので不明)
製品版クリスタルレポートのRDCとVB6の組み合わせできるのは確認済みです。同じ手法がそのまま、NETで利用できるかは不明です。
RDCとVB6の組み合わせでは、レポート定義ファイルを利用して、テキストフィールドをレポートに挿入し、VB6コードでレコードセットを引き渡すだけです。
お役に立てずに申し訳ございません。
Re: 初めましてで失礼なん...  フジー - 2004/08/11(Wed) 15:01 No.152

返事が遅れましてまことに申し訳ございません。
この件は上司との話し合いで解決いたしましたので
その旨を報告させていただきました。

直接印刷について  ニック - 2004/08/02(Mon) 19:39 No.140

CrystalReportでプレビューの画面を表示せず、直接印刷したいのですが
プレビュー画面の非表示で知っている方教えてください
<開発環境>
XP SQLserver2000 VB.NET CrystalReport7.0 です
DataSetを使用して、ダミーテーブルを作成し、そこにデータを設定し 印刷する

OLEでデータ接続、及び読み出し
            READCMD.Connection = oleconnection4
            oleconnection4.ConnectionString = ConString
            oleconnection4.Open()

DataSetのテーブルにデータ設定
                dtrow = dtset.NewRow()
                '商品名
                dtrow("SYOHINMEI") = SYOHINMEI

                dtset.Rows.Add(dtrow)
            CrystalReportViewer1.ReportSource = cr
            'AP起動
            'PrintDocument1.Print()
とプログラミングしています
自動でプリントまでは、しますが 画面が出てしまいます
Re: 直接印刷について  猿町 - 2004/08/06(Fri) 13:03 No.151

CR7と.NETの組み合わせで動かしたことはありませんが、PrintToPrinter メソッドを利用することで直接印刷することができます。
以下は、サンプルコードです。こんな感じです。

Private Sub CommandButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommandButton1.Click
 
 Dim crDoc as CrystalDecisions.CrytalReports.Engine.ReportDocument
 Set crDoc = New CrytalDecisions.CrystalReports.Engine.ReportDocument
 crDoc.Load("C:\Report1.rpt")
 crDoc.PrintToPrinter(1, False, 0,0)
 
 Set crDoc = Nothing


End Sub


 


レポートの直接印刷について  ニック - 2004/08/04(Wed) 17:50 No.149

毎度毎度の質問ばかりで済みません

現在作成しているプログラムで、実行されたら、データベースより
データを検索し、CrystalReportを使用して 印刷を行い 終了する物を作っています(用は画面が無く、プレビューの表示も入りません)

こういうプログラムを作成する時に、Form1を使用せず、Moduleと
CrystalReportとDataSetのみで可能なのでしょうか?
DataSetにこの帳票だけに使用するテーブル(データベースには無いテーブル)を作成し、データベース(SQLServer2000)を読込み、DataSetで作成したテーブルに、DataSet.Rows.Add(dtrow)を行い
指定されたプリンターに出力するものです

似たような物を作成した方、または こうすれば出来るとご存知の方
よろしくお願いします

チャートについて  弥太郎 - 2004/07/23(Fri) 08:45 No.127

はじめまして、クリスタルレポート9で開発しております。
チャートの作り方がよくわからないので教えてください。

テーブルに「地域」「1月」「2月」「3月」「4月」というフィールドがあって

フィールド:地域|1月|2月|3月|4月|
レコード1:東京|10  |12  |13 |16 |

このテーブルから下記のような折れ線のチャートを作りたいのですが

20 |   _
   |  /
10 |/
   |
0  |_____________
    1月 2月 3月 4月

うまくいきません。たぶんチャートエキスパートのレイアウトのところの
データで「表示する値」の指定が悪いのではないかと思っていろいろためして
いるのですが・・・
すみませんが、わかるいらっしゃいましたら回答お願いいたします。

Re: チャートについて  猿町 - 2004/07/24(Sat) 06:52 No.128

最近、使い始めたものです。
試してみたけど私も駄目でした。
X軸は、直接データベースのフィールド名を利用するものではないようです。
レコードのデータ値から取得しています。
例えば、以下のデータの持ち方だとご希望のチャートができました。
フィールド [地域] [月] [件数]
レコード1 東京   1    10 
レコード2 東京   2    12 
レコード3 東京   3    13 
レコード4 東京   4    16

あまり役立ちませんね。 すみません。

Re: チャートについて  弥太郎 - 2004/07/29(Thu) 15:42 No.135

猿町様
返信ありがとうございます。
返事が遅くなってもうしわけありません。

わたしもテスト的に同じようなテーブル構造で
試してできることは確認しております。
やはりデータベースの構造を変えないとできないのでしょうかね?

できれば、構造を変えないでやりたいのですが・・・
ご存知のいらしゃいましたら、よろしくお願いします。
Re: チャートについて  猿町 - 2004/07/30(Fri) 08:00 No.136

弥太郎様

データベースの構造を変えないで実現する方法は難しいと思います。
でも、1つテーブルを作成すると期待通りのチャートが作れます。
少し面倒ですが、サブレポートを利用して、チャートを表示します。
まず手順は、以下の通りです。
1. レコード件数分のデータを保存する配列を作成します。
StringVar Array 地域データ;  
Redim 地域データ[1];
2. 1レコード内の各フィールドの値を保存する配列を作成し、保存します。
StringVar Array 月データ;
Redim 月データ[12]; //12ヶ月分
月データ[1]  := ToText({xxx.1月});   
月データ[2]  := ToText({xxx.2月});   
月データ[3]  := ToText({xxx.3月}); 
月データ[4]  := ToText({xxx.4月}); 

3. 2.で作成した配列の内容を繋いで、その値を1.で作成した配列に保存します。
そうすることで、二次元配列のようなものができる。
地域データ[1]:=月データ[1]+月データ[2]+月データ[3]+月データ[4]・・
4.サブレポートにこの配列を渡すための式フィールドを作成します。
WhilePrintingRecords;
StringVar Array 地域データ[1];
5. 新しくテーブルを追加します。
名称 値
1月   1
2月   2
3月   3
4月   4
6.このテーブルを利用してサブレポートを作成します。
7. 4.で作成した式フィールドでサブレポートとリンクします。
8.チャートで表示する値のための式フィールドを作成します。
これを実現するためにどうしても1つテーブルが必要になりました。
テーブルを作らないでよい方法がわかりませんでした。
どうもレコードが存在しないとうまく作れないのがCrystal Reportsの特徴?のようですね。
この式の内容は、メインレポートから渡された配列の内容をこのテーブルの値を
インデックスとして取得します。
WhileReadingRecords;
StringVar 表示データ :={?Pm-@式}[{新テーブル名.値}];
If IsNumeric(表示データ) Then ToNumber(表示データ) Else 0
9.新しいテーブルの月の名称と8.で作成した式フィールドでチャートを作成します。
表示する値に式フィールドを指定して、集計なしとします。
X軸がソートされてしまうので指定順序で1月、2月、順に指定すると期待通りのチャートができます。
レコード件数が増えても地域データの配列と、配列をサブレポートに引き渡す式フィールドを増やすことで可能になると思います。

Re: チャートについて  猿町 - 2004/07/30(Fri) 09:08 No.137

読み返すといろいろ間違った記述が多くて申し訳ございません。ごめんなさい。
サブレポートに渡す、1レコード分の配列の内容は、10,12,13,16 と各フィールドのデータの間に区切り文字を挿入するように式フィールドを作成します。
サブレポートでは、この配列の内容を読み出すために Split関数で個別に取得する
式フィールドを作成します。
WhileReadingRecords;
StringVar 表示データ :=Split({?Pm-@式},",")[{新テーブル名.値}];
If IsNumeric(表示データ) Then ToNumber(表示データ) Else 0
この式フィールドがチャートの作成に重要な部分になります。  
お試しください。

Re: チャートについて  猿町 - 2004/07/31(Sat) 11:12 No.138

また、また訂正します。新規にテーブルを追加しなくてもできます。
サブレポートを作成するテーブルは何でも構いません、レコード件数が12件以上あるものを利用します。データ値が1から12の数値があれば便利です。
そんな都合のよいデータ値が無い場合、レコード選択式で12件分のレコードを選択します。そして、チャートの表示する値で利用する式フィールドに以下の式を書きます。
WhileReadingRecords;
StringVar 表示データ :=Split({?Pm-@式},",")[RecordNumber];
If IsNumeric(表示データ) Then ToNumber(表示データ) Else 0
この結果、チャートを作成するときに12回分の処理が行われて期待されるチャートが表示されます。
Re: チャートについて  弥太郎 - 2004/08/04(Wed) 08:49 No.145

猿町様

返信ありがとうございます。
サブレポートは使ったことがありませんが、
手順を参考にチャレンジしてみたいと思います。

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

ASPからのCrystalReport実行時エラー  ジジ - 2004/08/03(Tue) 17:36 No.144

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

ASPでCrystalReportを使用してレポートを画面表示しています。
実行時に「CRAXDRT Error Occured on Server -2147192179:データベースDLLがエラーを検出しました。」のエラーが出力されます。
以前には出なかったエラーなのですが、急にエラーとなってしましました。
エラーの内容に付いてわかる方がいらっしゃいましたら、
お教え願えませんでしょうか。

Crystal Reports ActiveX Designer エラーについて  スズ - 2004/08/03(Tue) 11:56 No.143

初めて投稿させていただきます。

ASPでクリスタルレポートを利用してグラフ表示を行っていますが、
Session("oRpt").ReadRecords
のプログラム行で以下のエラーメッセージが表示されるようになって
しまいました。

Seagate Crystal Reports ActiveX Designer エラー '80047616'

色々とWEB検索してエラー原因を探しているのですがヒットするページが
見当たりません。

何か同じ現象が出て解決された方がおりましたらご教授願いますでしょうか。

特殊フィールドが英語表記になる?  ケイ - 2004/08/02(Mon) 19:54 No.141

はじめまして。ケイと申します。

VB6.0+クリスタルレポート9.2で開発を行っております。


ページヘッダに特殊フィールドのページ数(N/M)を
使用してレポートを作成しました。


クリスタルレポートをインストールしていないマシンで
VBのEXEからレポートを実行した場合に、
「page 1 of 〜」のような英語表示になります。


クリスタルレポートがインストールされているマシンでは、
「1/2」のように表示されるのですが・・・。


クリスタルレポートインストールしない場合、
「page 1 of 〜」で表示されるのはしょうが無い事なのでしょうか?


回避策や詳しい原因が分かる方、教えて下さい。

Re: 特殊フィールドが英語...  猿町 - 2004/08/03(Tue) 04:53 No.142

page 1 of 〜と表示されるのは日本語のファイルが不足しているためでしょう。
ヘルプが不親切なのでこの日本語のファイルの記述がどこにもありません。craxdrt9_res_jp.dll をcraxdrt9.dllと同じ配布先にコピーすることで解消するはずです。

改ページ条件が2つある場合の条件指定  ニック - 2004/07/26(Mon) 21:42 No.133

改ページ条件が2つある場合の 挿入・グループの指定を教えてください

改ページ条件 顧客区分 処理区分 の2つがある場合 グループの挿入だと
1つしか指定できないみたいですが、2つ指定できるのでしょうか?

グループを2つ挿入して、作成した所(フッターで出力後改ページをチェック)
いらない(タイトルのみの表示が出ている)改ページが出力されます
いらない改ページを止めるのにはどうすれな良いのでしょうか?

また 改ページ条件で 小計を取りたいのですが、小計は出力されたレコード件数
(出力された行数)を表示したいのですが、どうすれば行数を取得できるのでしょうか?
どなたか、ご存知の方、よろしくお願いします
Re: 改ページ条件が2つあ...  猿町 - 2004/07/27(Tue) 13:20 No.134

NO.126 の質問内容に類似していますが、以下の式フィールドをグループ1(顧客区分)のフッターの出力後の改ページに挿入することでできました。
WhilePrintingRecords;
{xxxx.顧客区分} = Next({xxxx.顧客区分});
グループ1のフッターの出力後の改ページのチェックは外します。
小計は、詳細に挿入したフィールドを選択して、集計を挿入します。
そのとき、件数を選択し、グループ1あるいは、グループ2のフィールドを選択することでどちらかのグループ単位の件数を表示することができます。

Re: 改ページ条件が2つあ...  ニック - 2004/08/02(Mon) 19:29 No.139

猿町さんありがとうございます
返事が遅れてすみませんでした
うまく動きました


非連結フィールドとデータセット  dai - 2004/07/26(Mon) 20:58 No.132

はじめまして、.Net、CrystalReport9で開発しています。
CrystalReportはじめて間もないものでよく参考にさせてもらっています。

お聞きしたいことがあるのですが、レポートで非連結フィールドなどを設定しておいて、
後からコネクションを確立してデータセットに入れたデータを使ってあとから連結する
方法があれば教えていただきたいのですが・・・

よろしくお願いします。



値が表示されない。  はじめて2日目 - 2004/07/26(Mon) 11:28 No.130

環境 WinXp、.Net2003、クリレポ9
で開発しています。

グリッドで確認してもデータセットにはデータが入っているのでうが、
ビューワには値が表示されません。

Dim daSearch As New OracleDataAdapter(strSql, mCon)
Dim ds  As New DatasetTest

daSearch.Fill(ds, "test")
Me.DataGrid1.SetDataBinding(ds, "test")

Dim rpt As New CR
rpt.SetDataSource(ds)
rptViewer().ReportSource = rpt

ご存知の方がいらしたらどうかご教授下さい。

Re: 値が表示されない。  はじめて2日目 - 2004/07/26(Mon) 19:44 No.131

すいません。解決しました。
私の勘違いで動かなかっただけでした。

無題  町初心者 - 2004/07/17(Sat) 22:59 No.126

クリスタルレポート8.0で開発をしています。

改ページのことでどうしても分からないことがありますので、
ご存知の方がいらっしゃいましたらどうかご教示ください。

グループを2つ作って、グループ1を支払先、グループ2を納入メーカーに指定しています。
支払先ごとに合計、納入メーカーごとに小計をといっています。

納入先メーカーが変わるごとに小計を取って改ページをし(合計は出しません)、
支払先が変わるときにだけ、小計と共に合計を出して改ページをしたいのですが、
小計を出して改ページをするため、どうしても合計が次のページに改ページされてしまいます。

ご存知の方がいらっしゃいましたら、どうかご教示ください。
お願いします。

Re: 無題  猿町 - 2004/07/25(Sun) 15:40 No.129

グループ2で出力後に改ページをチェックするとグループ2の小計の出力後、
改ページされてしまうので合計は次のページ後に表示されてしまいます。
そのため、グループ1では合計を表示しないようにします。
例えば、グループ2のフッタを2つに分割します。
グループ2a には、小計をそのまま挿入して、グループ2bには、グループ1の合計を挿入します。そのとき、式フィールドを利用して、グループ1の合計値を求める式を作成します。Sum関数には、条件を指定することができるので、第2パラメータにグループ1で利用しているフィールドを指定します。
例えば、こんな感じです。
WhilePrintingRecords;
Sum(集計したいフィールド名, グループ1のフィールド名);
この式フィールドをグループ2bに挿入します。

但し、このままでは、グループ2aとグループ2bが同時に表示されてしまいます。
さらに、セクションエキスパートでグループ2bの非表示の条件式にグループ1が変わるときのみ表示するよう式を作成します。
グループ1が変わる時なので、次のグループ1と値が違いので以下のような式を
挿入します。
WhilePrintingRecords;
グループ1のフィールド名 = Next(グループ1のフィールド名);
同じグループ1であれば、表示されません。
あと、出力後に改ページは、グループ2bのみチェックします。グループ2aはチェックしません。また、グループ1は不要になったので非表示にします。
これで、試してみてください。

無題  syosinsya - 2004/06/23(Wed) 14:28 No.109

[OSのVER]:Win2000
[VBのVER]:6.0

クリスタルレポート10にてはじめて開発を行っています。

ADO経由でビューワーにレポートを出力しようと試みています。
プレビューはできるのですが、レポートの接続先MDBを
動的に変更することができず、レポートデザイン時のMDBデータばかり
出力されてしまいます。

実行時に接続先MDBを変更したいのですが、
下記のモジュールでは不可能でしょうか?

-------------------------------------------
Dim Report As New CrystalReport1
Dim cnn As ADODB.Connection
Dim datcmd As ADODB.Command


' データ接続を開きます。
Set cnn = New ADODB.Connection
strCnn = "Provider=Microsoft.Jet.OLEDB.4.0; Persist Security Info = false; Data Source=" & App.Path & "\aaa.mdb; Mode=Read"
cnn.Open strCnn

' ADO コマンド オブジェクトの新しいインスタンスを作成します。
Set datcmd = New ADODB.Command
Set datcmd.ActiveConnection = cnn
datcmd.CommandText = App.EXEName
datcmd.CommandType = adCmdTable

'データ ソースをレポートに追加します。
Report.Database.AddADOCommand cnn, datcmd

’プレビュ
CRVIEW.ReportSource = Report
CRVIEW.ViewReport
--------------------------------------------------------

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

Re: 無題  猿町 - 2004/07/17(Sat) 07:12 No.125

以下のコードで変更ができた。

Private Sub Command1_Click()

'データベースの変更
Report.Database.Tables(1).Location =  App.Path & "\bbb..mdb"

'プレビュ
CRVIEW.ReportSource = Report
CRVIEW.ViewReport

End Sub

でも、この場合、ADO接続にならないかも ?


アプリ印刷とプレビュー印刷の罫線  last(侍) - 2004/07/15(Thu) 13:58 No.117

vb.Net+Crystal Reports9にて開発を行っています。

レポートの中に点線を引いているのですが、
アプリケーションより、ダイレクトに印刷する場合と、
一度プレビューを表示させて印刷した場合では点線の太さがかわってしまいます。
もし解決方法をご存知な方がいらっしゃいましたら、教えてください。
Re: アプリ印刷とプレビュ...  masu - 2004/07/16(Fri) 17:30 No.124

このような内容の記事がありました。
www.agtech.co.jp/support/faq/crystal_reports/v90j/20030818001.html

そうだとしたら修正待ちかもしれません。

余談になると思いますが

1.Viewer.PrintReport
2.Report.PrintToPrinter

それぞれのメソッドによって動きが違うようで

1.外字がちゃんと印刷されるが線の幅が変わることがある
2.線の幅が変わらないが外字が印刷されない。

が確認されてますので、ご使用になる時は気を付けてください。
既にこの現象が修正されていたら、ゆるしてくださいね^^;

レポートの表示  ニック - 2004/07/15(Thu) 18:41 No.120

初めまして、私もレポート出力で色々検索をしていましたが、ほしい情報が
見つからず、悩んでいたところです
ひらちゃんの 入門編風 を見て、VB.NETで作成してしていますが、
レポート表示で、ログインの画面が出てしまいます。
どこが間違っているか、お分かりになりますでしょうか
form2でレポートを表示しようとしています

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As
                  System.EventArgs) Handles MyBase.Load
        '// まずはデータセットのインスタンスを生成
        Dim dtset As DataSet = New PASDataset
        Dim dttable As DataTable
        'Dim pkcol As DataColumn
        Dim dtrow As DataRow
        Dim cr = New CrystalReport1


        'テーブル宣言
        dttable = dtset.Tables("USERIDTBL")


        'テーブルにレコードを追加する
        dtrow = dttable.NewRow()
        dtrow("USERID") = "1234567"
        dtrow("PASSWORD") = "ABCDEFGHI"
        dttable.Rows.Add(dtrow)
        cr.SetDataSource(dtset)


        dtrow = dttable.NewRow()
        dtrow("USERID") = "9876543"
        dtrow("PASSWORD") = "ZZZZZZZZZ"
        dttable.Rows.Add(dtrow)
        cr.SetDataSource(dtset)


       CrystalReportViewer1.ReportSource = cr


    End Sub

Re: レポートの表示  ニック - 2004/07/15(Thu) 20:07 No.121

済みません、FORM1でFORM2をShowしているのですが、その後に
データベースのログイン 画面が出ます
form1はボタンのみです
    '********************************************************************************************************
    '* クリスタルレポートの表示を行う                                                                       *
    '********************************************************************************************************
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
                   System.EventArgs) Handles Button1.Click
        Dim frm_pp As Form2
        frm_pp = New Form2
        frm_pp.Show()
    End Sub

Re: レポートの表示  ひらちゃん - 2004/07/15(Thu) 23:48 No.122

CristalReport1 の方での指定が、PASDataset のUSERIDTBL になってます
でしょうかね。ここが違ってると、ログイン画面が出たりしますね。

はずしてるかな・・・。
Re: レポートの表示  ニック - 2004/07/16(Fri) 12:28 No.123

ありがとうございました。
無事、解決しました

Form2に
'Me.CrystalReportViewer1.ReportSource = "C:\パスワード登録\パスワード登録\CrystalReport1.rpt"
を宣言していたために、ログイン画面が表示されていました
コメントしたら OK です

1ページに2枚  ぱんだ - 2004/06/26(Sat) 12:00 No.111

はじめまして、クリスタルレポート歴1ヶ月未満のぱんだと申します。
技自慢ではないのですが・・・。

よくあることかもしれないのですが、A4縦用紙2枚で印刷している表を
B4横に1枚で印刷したいといった場合、どのような方法があるのでしょうか?

要は左の表に1件目から順に出力し、左の表を全部出力し終わると、
右の表に続きを出力していく。
左右の表を出力し終わると、次のページの左の表から出力し始める
といった感じのことをしたいのですが・・・。

クリスタルレポートのバージョンは6です。

もしご存知の方がいらっしゃいましたら、ご教授いただけないでしょうか?
よろしくお願いします。
Re: 1ページに2枚  CR猿 - 2004/07/02(Fri) 14:08 No.113

Crystal Reports だけでは上記のような問題はクリアできません。プリンタによってはこういった縮小/拡大機能が付いているものもありますが、あくまでこれはプリンタドライバの機能であってCrystal Reports とはまったく無関係な機能です。レポートを印刷するPCが少ないのならプリンタ側で解決できるでしょうが、台数が多くなってくるとこのような機能が付いているプリンタを揃えるための投資が大きくなり、現実的ではないように思います。いずれにせよ、Crystal Reports 側だけを見ればこのような機能はないはずです。
Re: 1ページに2枚  ぱんだ - 2004/07/06(Tue) 08:56 No.114

んー・・・なるほど。
最悪、プリンタ側でやるしかないかなと思っていたのですが、
やはり標準では備わっていないですか・・・。
需要がありそうな機能なんですけどねぇ・・・。

ご回答いただき、ありがとうございました。
Re: 1ページに2枚  通りすがり - 2004/07/09(Fri) 16:08 No.115

ぱんださんの要求を満たすかは分かりませんが、新規でレポートを作成するのであれば、このHPの【《入門編風》複数行あるデータを横に並べて出力】を参考にしてみたらいかがでしょうか

Re: 1ページに2枚  ぱんだ - 2004/07/15(Thu) 14:33 No.118

遅くなりましたが・・・。
確かにこのHPの【《入門編風》複数行あるデータを横に並べて出力】も参考に
しようとしたのですが、この方法が通用するのは詳細の部分にすべてのデータが
ある場合ではないかと思うので、ヘッダやフッタまでもをまとめてこういった形で
出力することができませんでした。たぶん・・・。

もしかしたらできるのかもしれませんが・・・。

もしご存知の方がおられましたらご教授ください。
よろしくお願いします。

結局はプリンタの方で2ページを1ページに印刷するという機能で
今のところは解決しました。が・・・もしできるのであれば知りたいなぁと・・・。
Re: 1ページに2枚  ひらひら - 2004/07/15(Thu) 15:09 No.119

クリレポ6は知らないんですが、
サブレポートを【《入門編風》複数行あるデータを横に並べて出力】のようにして
うまく出来ませんかね。

ヘッダの出力条件が必要だったかも。

うーん、頼りない・・・。^^;;

不可能でしょうか。  ぶーしの - 2004/06/18(Fri) 15:35 No.104



VB.NET
Crystal Reports9
にて開発しています。

データをグループ化させて、グループ毎に改ページをさせるという単純なつくりなのですが、
グループ毎の総ページ数を取得して、
[グループ毎現在ページ]/[グループ毎総ページ数]というような表示をしたいのです。しかしグループ毎の総ページ数の取得方法が見つかりません。
不可能っぽいですが、ワザをご存知の方がいらっしゃいましたらよろしくお願いします。
Re: 不可能でしょうか。  ララ - 2004/07/13(Tue) 11:54 No.116

亀レスですがお役に立てば…。

デザインタブをクリックしてグループフッターで右クリックして[セクションエキスパート]を選択します。そこで[出力後に改ページ]、[出力後にページ番号をリセット]にチェックを入れ、フィールドエクスプローラの特殊フィールドから[ページ数(N/M)]を選択してページフッターにドラッグ&ドロップすると出ると思います。

3Dライザーチャートの書式設定  くりりん - 2004/06/29(Tue) 14:48 No.112

Crystal Reports9で開発を行っております。

3Dライザーチャートの書式設定(グループ軸ラベルのフォントサイズ指定)が保存されずに困っております。
他のチャートでは保存できるのですが、3Dライザーチャートのみ保存できません。

どこにも、そのような情報を見つけられなかったので、
私の環境だけなのかもしれませんが、
同じ現象が出て、解決された方がいらっしゃいましたら、お教えください。
※SP、HotFixは最新のものを適用しています

ボックス  も〜っも - 2004/06/24(Thu) 14:43 No.110

VS.Netに付いているCrystal Reports作成時で、
レポートにボックスに丸み付けをさせ表示させるようにします。
しかし、実際にクリスタルレポートビューアー で
プレビューすると、四角のままなのです。 
どなたか、こんな現象の解決方法をご存知の方
教えてください。

StringのMAX桁数は?  くりんくりん - 2004/06/22(Tue) 16:00 No.107

すみません、ちょっと教えて下さい。

クリスタルレポートのttxで使用するStringは
VBのString↓同様のバイト数と考えてOKでしょうか?

string  文字   (1 〜 32767 文字)
string *文字   (1 〜 32767 文字固定長)

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

参考になりました〜  みやもと〜 - 2004/06/22(Tue) 15:30 No.105

VB.net2003で開発してます。
ほんと、クリレポ関連の情報がすくなく、
書籍もろくなものが無い。。(T.T)
メーカーサイトも日本語版はダメすぎるし、、
うろうろしていたら、ここにたどり着きました。

また参考にしたいと思います。

SQLサーバエラー  す〜 - 2004/06/17(Thu) 15:50 No.103

はじめまして。
VBからCrystalReportsを起動してリストを出力しようとしています。
動作環境は以下のようになります。
  VB6.0(SP5)
  Access2002
  CrystalReports4.6.1.0(VB付属)

CrystalReportsからプレビューは可能なのですが、
VBからPrintReportメソッドを使ってプレビューしようとすると
 『SQLサーバエラーです。』
とメッセージが出てしまいます。
Accessの最適化・修復や
【コントロールパネル】−【管理ツール】−【データソース(ODBC)】で
DBの修復・最適化も行ってみましたがなんら変わりありません。
何かの設定が必要なのでしょうか?
どうかご教授いただければと思います<m(__)m>

ご教授ください。  困った - 2003/12/19(Fri) 03:04 No.14

何卒、ご教授ください。

■開発環境
 VB6 SP5
 CrystalReports 4.6

VB6にて、Oracleデータベースより取得したデータを加工
した後、その加工データ(変数にセットされている)を
クリスタルレポートファイル(.rpt)に渡したいのですが、
その際の、VB上でのコーディングおよびクリスタルレポート
ファイルにおける項目の設定方法を知りたいのですが...

何分、初心者なものですから、何卒、ご教授ください。

宜しくお願い致します。
Re: ご教授ください。  えんぴつ - 2004/06/15(Tue) 16:27 No.102

DBのデータ加工はワークテーブルを作成し、クリレポ専用のものを作成します。クリレポ側はそのテーブルの項目をセットしたものを作ります。
あとは、下のページを参考にするといいかも。

http://www5.plala.or.jp/ratcha/vb038.html

私も素人なので、もっと良い方法があるかもしれませんが...。よかったら、一度お試しください。

無題  まき - 2004/06/15(Tue) 09:52 No.101

Crystal Report9を使いSQLサーバーに接続しておりますが、
レポートを開いてリフレッシュするたびにユーザーIDとパスワードが訊かれてきます。
このIDとパスワードをレポートファイルに記憶させ、都度入力しなくてもいいように出来る方法はありますでしょうか?

どなたかご存知の方教えてください。
よろしくお願い致します。

チャートの設定について  くりりん - 2004/06/14(Mon) 20:11 No.100

はじめまして。
VS2003付属のCrystalReportsを使用しております。

3Dライザーチャートにおいて、
レコード数が多い時のグループ軸ラベル表示の重なり合いを回避したいのですが、
チャート内の項目を動的に設定する方法が分かりませんでした。
ChartObjectで設定できると思ったのですが、そのようなプロパティが見つかりませんし、
各サイトにも動的に設定するようなサンプルを見つけることができませんでした。

実現可能かどうかの判断だけでも構いませんので、
どなたかご教授いただけますでしょうか。

CR9でのグループフィールドのコントロール  136です。 - 2004/06/09(Wed) 11:12 No.94

Crystal Report9を使ってます。
現在Crystal Report8からCrystal Report9に変更作業中なのですが、そこで質問があります。
Crystal Report8にて行っていたグループフィールドのコントロールですがCrystal Report9ではどのように行ったらよいか不明です。以下のような記述を行っているのですがどうもうまく動作できません。

Crystal Report8の場合
 CrystalRpt.GroupCondition(0) = "GROUP1;{lngDummy1};ANYCHANGE;A"
 → こちらはOK

Crystal Report9の場合
 Report.GroupNameFields(1).GroupNameConditionFormula = "GROUP1;{lngDummy1};ANYCHANGE;A"
 → こちらはNG

どなたかご存知の方ご指導をお願いします。
環境として
 VB6(SP6)、Crystal Report9(SP3)、ACCESS2002

よろしくお願いします。
Re: CR9でのグループフィ・..  ララ - 2004/06/11(Fri) 18:29 No.99

上記の環境ではOCXを使っていると思いますが、CR9ではOCXがサポートされていません。CR9ではRDCを使うしかありませんが、英語ですけど、

http://support.businessobjects.com/communityCS/TechnicalPapers/cr9_ocx_to_rdc.pdf.asp

に移行についてのドキュメントがあります。

VC++からの印刷方法  りんご - 2004/06/10(Thu) 21:18 No.97

Crystal Report v10 と VC++6.0 を使用しようとしています。

どこを探してもサンプルプログラムが見つかりません。

やりたいことは、プログラムからレポートのパスとレポート名を入力しそのレポートを印字する。というとてもシンプルなことです。

使用方法が分かる方いらっしゃいませんでしょうか?
または、実際に使用していらっしゃる方はいらっしゃいませんでしょうか?
サンプルプログラムのある場所でもかまいません。

何でも良いので、なにかご存知の方教えてください。
よろしくお願い致します。
Re: VC++からの印刷方法  ララ - 2004/06/11(Fri) 17:23 No.98

http://support.businessobjects.com/communityCS/TechnicalPapers/scr_rdc_cpp.pdf.asp

にサンプルがあります。

また\program files\crystal decisions\crystal reports10\developer files\help\jp

にRDCのサンプルコードが若干あります。

| 1| 2| 3| 4| 5|