どうしてクリレポなんですか?
マイケル - 2008/11/18(Tue) 17:16 No.4115
- みなさんは、どうしてアクティブレポートじゃなくてクリレポで開発されているんですか?
うちのプロジェクトの場合、VSのクリレポが無料でくっついているからという理由と、ソフトリリース時のライセンス料が不要?らしいからという理由です。
アクティブレポートの場合、ライセンスはいくらするんですか?
ページ計、グループ計の出し方
ふじっち - 2008/11/12(Wed) 16:03 No.4077
はじめまして。帳票作成初心者です
Crystal Repot10で次のような帳票を作りたいのですが、方法が分からなくて困っています。方法を教えてくださいませ。
1.部門ごとの積算合計を出す(ここまでは既存でできてます。)
2.ページ毎の小計を出す
【1ページ目】
入金一覧表
部門 10 大阪
得意先名 入金日 入金額
-----------+--------------------------------------------
A会社 | 2008/11/01 452,865
A会社 | 2008/11/12 453,865
B工業 | 2008/11/01 7,350
・ | ・ ・
・ | ・ ・
-----------+--------------------------------------------
入金額小計 1,234,567
【Nページ目】
入金一覧表
部門 10 大阪
得意先名 入金日 入金額
-----------+--------------------------------------------
B会社 | 2008/11/01 452,865
C会社 | 2008/11/12 453,865
D工業 | 2008/11/01 7,350
・ | ・ ・
・ | ・ ・
-----------+--------------------------------------------
入金額小計 1,234,567
入金額合計 17,752,416
【N+1ページ目】
入金一覧表
部門 20 東京
得意先名 入金日 入金額
-----------+--------------------------------------------
D会社 | 2008/11/01 452,865
F会社 | 2008/11/12 453,865
G工業 | 2008/11/01 7,350
・ | ・ ・
・ | ・ ・
-----------+--------------------------------------------
入金額小計 1,234,567
【現在の設定】
<ページヘッダ>
<レポートヘッダ>
<グループ#1ヘッダ>非表示-------部門でグループ化
<グループ#2ヘッダ>非表示-------部門でグループ化
<詳細>
<グループ#1ヘッダ>ページ小計
<グループ#2ヘッダ>合計(積算合計)
<ページヘッダ>
<レポートヘッダ>
今の時点で以下のような設定でグループ化しているので、小計が各部門の
最後のページしか出ません。
グループ化せずに詳細b、ヘッダで計算しなければならないと思うのですが、
式とかがまったく分かりません。
どなたか解決方法を教えてください。
よろしくお願いいたします。
- Re: ページ計、グループ計...
ふじっち - 2008/11/13(Thu) 11:05 No.4083
- できるかだけでもいいので教えてください。
よろしくお願いします。
- Re: ページ計、グループ計...
24x7 - 2008/11/13(Thu) 21:45 No.4096
たとえば、以下の3つの式フィールドを利用します。
(1)ページヘッダー
WhilePrintingRecords;
CurrencyVar subtotal:=0;
(2) 詳細セクション
WhilePrintingRecords;
CurrencyVar subtotal;
subtotal:= subtotal + {入力金額};
(3) ページフッター
WhilePrintingRecords;
CurrencyVar subtotal;
subtotal;
これで、ページ単位の小計が取得できると思います。
以下は、デザイン画面では、それぞれ、フッターの間あと、違いでは?
<グループ#1ヘッダ>ページ小計
<グループ#2ヘッダ>合計(積算合計)
- Re: ページ計、グループ計...
ふっじっち - 2008/11/13(Thu) 23:12 No.4099
- 24x7 さん
お返事ありがとうございます。
色々説明が間違っていました。申し訳ないです。
ページ単位の小計は24x7 さんと同じように記述してます。(式1、2、3フィールド
を下記のように配置してます。)
しかし各部門の最後のページにしか小計は出力されません。
<ページヘッダ>
<レポートヘッダ>
<グループ#1ヘッダ>非表示-------部門でグループ化
<グループ#2ヘッダ>非表示・・・・・・・・式フィールド1-----部門でグループ化
<詳細>・・・・・・・・・・・・・・・・・・・・・・・式フィールド2
<グループ#1フッター>ページ小計・・・・式フィールド3
<グループ#2フッター>合計(積算合計)
<ページフッター>
<レポートフッター>
>以下は、デザイン画面では、それぞれ、フッターの間あと、違いでは?
フッターの間違いでした。ごめんなさい。
お忙しいところ大変恐縮ですが、原因を教えてください。
よろしくお願いいたします。
- Re: ページ計、グループ計...
24x7 - 2008/11/14(Fri) 01:51 No.4101
- 上記のデザインでは、「各部門の最後のページにしか小計は出力されません。」は、期待した結果です。
あと、以下は逆ですね。
<グループ#1フッター>ページ小計・・・・式フィールド3
<グループ#2フッター>合計(積算合計)
ページの小計を表示させるということは、同一グループ内のデータが多くて複数ページに跨って表示されるので、同一グループ内であれば、ページ毎の小計を表示させたいということですよね。
グループフッターは、グループ毎に一度しか表示されません。ページフッターを利用することになります。
ページヘッダー 式フィールド4
グループヘッダー#1
グループヘッダー#2 式フィールド1
詳細 式フィールド2
グループフッター#2
グループフッター#1
ページフッター 式フィールド3
新規に式フィールド4をページフッターに挿入します。
同一グループ内であれば、ページ単位のカウントの変数を初期化します。
//@式フィールド4
WhilePrintingRecords;
NCurrencyVar subtotal;
if Previous({グループ2の項目}) = {グループ2の項目} Then
subtotal:=0;
<同一グループ内の1ページ目>
ページヘッダー
グループヘッダー#1
グループヘッダー#2
詳細
・
・
ページフッター
<同一グループ内の2ページ目>
ページヘッダー
詳細
詳細
・
・
・
ページフッター
<同一グループ内の最終ページ>
ページヘッダー
詳細
詳細
・
・
・
グループフッター#2
ページフッター
こんなイメージで表示されるとき、2ページとそれ以降のページで小計を表示するためにカウンタ変数を初期化するのが式フィールド4です。
実際に試していないので思い通りに動作するかはわかりませんが・・・
- Re: ページ計、グループ計...
24x7 - 2008/11/14(Fri) 01:52 No.4102
- 失礼しました。間違いました。
「新規に式フィールド4をページヘッダーに挿入します。」
- Re: ページ計、グループ計...
24x7 - 2008/11/14(Fri) 01:54 No.4103
- 意味不明でした。
あと、以下は逆ですね。
<グループ#1フッター>ページ小計・・・・式フィールド3
<グループ#2フッター>合計(積算合計)
<グループ#2フッター>ページ小計・・・・式フィールド3
<グループ#1フッター>合計(積算合計)
- Re: ページ計、グループ計...
ふじっち - 2008/11/14(Fri) 10:23 No.4104
24x7さん、詳しい説明ありがとうございます!!
その方法でページ小計は表示されました。
感激しました。
二つ質問があります。まだまだ勉強不足でごめんなさい。
1つ目は予測していたことなのですが、
ページフッターに小計を表示なので、ページの下方になり
合計の下に小計が表示されてしまします。
表示は
【Nページ目】
入金一覧表
部門 10 大阪
得意先名 入金日 入金額
-----------+--------------------------------------------
B会社 | 2008/11/01 452,865
C会社 | 2008/11/12 453,865
D工業 | 2008/11/01 7,350
・ | ・ ・
・ | ・ ・
--------+-----------------------------------------------
入金額合計 17,752,416
入金額小計 1,234,567・・・・・・ページの一番下
2点目は、改行についてです。
各ページの最大行まで詳細が埋まり、かつ部門もそこで終わる場合に、合計金額
の表示が次のページになってしまいます。
具体的には
【Nページ目】
入金一覧表
部門 10 大阪
得意先名 入金日 入金額
-----------+--------------------------------------------
B会社 | 2008/11/01 452,865
C会社 | 2008/11/12 453,865
D工業 | 2008/11/01 7,350
・ | ・ ・
・ | ・ ・
--------+-----------------------------------------------
入金額小計 17,752,416
【N+1ページ目】
入金一覧表
部門 10 大阪
得意先名 入金日 入金額
-----------+--------------------------------------------
入金額合計 17,752,416
入金額小計 17,752,416
となってしまいます。
これはどのように制御すればいいのでしょうか??
よろしくお願いします。
- Re: ページ計、グループ計...
24x7 - 2008/11/14(Fri) 11:40 No.4106
- 1点目のページ合計がグループフッター#1の合計より下に表示される件ですが・・
グループフッター#1を2つに分割します。
グループフッター#1a には、ページ合計を表示する式フィールド4を挿入します。
グループフッター#1b には、既存の「合計(積算合計)」を挿入します。
グループフッター#1a のセクションの「非表示」の条件式に以下の式を挿入します。
//同一グループ#1の最終データ?
WhilePrintingRecords;
Next({グループ#1の項目}) = {グループ#1の項目}
この処理自体は不要かもしれません。なぜなら、グループ#1のフッターを表示するときは、すでに最終データであるので・・
ページフッターに挿入した「式フィールド4」の「非表示」の条件式に以下の式を挿入します。
//同一グループ#1の最終データ?
WhilePrintingRecords;
Next({グループ#1の項目}) <> {グループ#1の項目}
これは、同一グループ#1の最終データに到達したら、ページフッターの小計を非表示にします。
- Re: ページ計、グループ計...
24x7 - 2008/11/14(Fri) 11:42 No.4107
- 失礼、間違いました。
グループフッター#1を2つに分割します。
グループフッター#1a には、ページ合計を表示する「式フィールド3」を挿入します。
グループフッター#1b には、既存の「合計(積算合計)」を挿入します。
- Re: ページ計、グループ計...
24x7 - 2008/11/14(Fri) 11:47 No.4108
- 2点目ですが、これは、データ量で可変するので難しいかもしれません。
グループ#1のグループの変更から「まとめて表示する?」はチェックして回避できますか。
- Re: ページ計、グループ計...
ふじっち - 2008/11/14(Fri) 16:30 No.4109
- 24x7 さん
お返事ありがとうございます。
まだ上手くいってないです。
式フィールド4ってページヘッダで設定した
//@式フィールド4
WhilePrintingRecords;
NCurrencyVar subtotal;
if Previous({グループ2の項目}) = {グループ2の項目} Then
subtotal:=0;
ですよね?
この条件をページフッターの小計の合計式(式フィールド3)
/
/同一グループ#1の最終データ?
WhilePrintingRecords;
Next({グループ#1の項目}) <> {グループ#1の項目}
に加えるのでしょうか?
詳細aは最終ページの小計しかだせません。
なので、ページフッタで各ページの小計を出しています。
本当に分かってなくてごめんなさい。
また2点目はグループの変更から「まとめて表示する」はチェックして回避できませんでした。
お時間をさいてしまって申し訳ない気持ちでいっぱいなのですが、
上司から「ページ計が出れば積算合計(グループ合計)でなくてもいいよと」
言われました。
自分としてはできるかどうか大変興味があるのですが、24x7さんにこれ以上迷惑をかけたくないとも思っています。
ですので、返答は気が向いたらで結構です。
本当にありがとうございました。
- Re: ページ計、グループ計...
24x7 - 2008/11/14(Fri) 21:32 No.4110
挿入された式フィールドの修正は行いません。
上記の式は、すべて「非表示」の条件文です。
セッションや該当フィールドには、「非表示」とするチェックがあります、その隣に [X-2] をクリックします。このとき、チェックは不要です。
式エディタが開いて、そこに記述します。
ページフッターに挿入jされた「式フィールド3」の書式設定から「非表示」の条件式に以下の式を挿入します。
//同一グループ#1の最終データ?
WhilePrintingRecords;
Next({グループ#1の項目}) <> {グループ#1の項目}
- Re: ページ計、グループ計...
ふじっち - 2008/11/14(Fri) 21:42 No.4111
24x7さん
ご丁寧に説明していただいてありがとうございます!!
基本の部分から教えていただいてありがとうございます。
そういう事だったんですか。
非表示の条件式をどうやって書けばいいのかずっと悩んでました。
また月曜に試してみます。本当にありがとうございました。
- Re: ページ計、グループ計...
ふじっち - 2008/11/17(Mon) 10:44 No.4112
- ありがとうございます!だいたいできました!!
ただ、最後のページにも小計でます。
以下の条件式を入れたのですが、これではダメみたいです。
//同一グループ#1の最終データ?
WhilePrintingRecords;
Next({グループ#1の項目}) <> {グループ#1の項目}
or
PageNumber = TotalPageCount
- Re: ページ計、グループ計...
24x7 - 2008/11/17(Mon) 21:26 No.4113
最後のページとは、レポートの最終ページですね。その場合、ページ番号でなく、最終レコードであるかで判断してみてください。
// 最終レコード?
//同一グループ#1の最終データ?
WhilePrintingRecords;
if OnLastRecord then
True
Else
if Next({グループ#1の項目}) <> {グループ#1の項目} Then
True
Else
False
- Re: ページ計、グループ計...
ふじっち - 2008/11/18(Tue) 13:40 No.4114
- 24x7 さん
お返事おそくなってごめんなさい。
ありがとうございます!!
おっしゃる方法でできました。
一から全部教えて下って、本当にありがとうございます。
複写帳票
IROC - 2008/11/13(Thu) 13:59 No.4084
はじめまして、こんにちは。いつも勉強させていただいてます。
えっと、請求書などで3枚綴りの帳票ってあると思うんですが。。。
例えば一枚目が「請求書」で二枚目が「控え」とか、出力する内容は同じでタイトルだけが違う帳票を作成したいのです。
結構ありふれた帳票スタイルだと思うので、もしかしたら標準で簡単に作れる方法があるのかもしれませんが・・・・自分には分かりませんでした。
ちなみにCrystal Reports Xiです。どなたか知恵を貸してください。
- Re: 複写帳票
マイケル - 2008/11/13(Thu) 15:25 No.4088
請求書と控えレポートファイルを別々に作成し、それらをサブレポートとして挿入すれば実現できると思います。
サブレポートを挿入するときは、下記の様に詳細セクションを分けると、
綺麗に表示できると思います。
詳細a
請求書のサブレポート
詳細b
控えのサブレポート
- Re: 複写帳票
IROC - 2008/11/13(Thu) 16:24 No.4090
マイケルさん
早速のご返事ありがとうございます。
サックリ試してみたのですが、どうも意図したカタチになってくれないんですよ。
空レポートの詳細aに請求書をサブレポートとして挿入すると、
1ページ目 :請求書サブのヘッダのみが表示
2ページ目以降 :請求書サブの詳細が、同帳票の改ページ条件に従って表示
という感じになってしまいます。
オリジナルの請求書はページヘッダーに枠線作って、以降の詳細をアンダーレイしてるんですけど、そのアンダーレイが無視されてる感じです。なぜ。
それともただ詳細にサブレポートぶち込むだけじゃダメなんでしょうか??
- Re: 複写帳票
マイケル - 2008/11/13(Thu) 16:32 No.4092
- >それともただ詳細にサブレポートぶち込むだけじゃダメなんでしょうか??
大丈夫だと思いますが。
ひょっとして
請求書A
請求書A控え
請求書B
請求書B控え
といった具合に、請求書が複数あるのでしょうか?
- Re: 複写帳票
IROC - 2008/11/13(Thu) 16:57 No.4093
えーっと、請求書のレポートはあくまで一つですが、データの数次第で改ページはします。
なので、きっとマイケルさんの最初の認識で正しいです。
というか、最初のご返信のやり方が正しいと思います。
問題はサブレポートになった途端、ページヘッダーと詳細が別々のページで出力されてしまうことですが・・・なんででしょ。
- Re: 複写帳票
24x7 - 2008/11/13(Thu) 21:56 No.4098
メインレポートは、サブレポートの全体のデータ量からページ内に収まらないと改ページが行われます。データ量が可変なものをサブレポートで利用すると期待しないところで改ページされます。
- Re: 複写帳票
IROC - 2008/11/14(Fri) 10:27 No.4105
- すいません、解決しました。
もともとのレポートでは表の枠組みをページヘッダーに作っていたのですが、サブレポートとして挿入されるとレポートヘッダーに変わっていたことが原因のようでした。
サブレポートにはページヘッダーってないんですねぇ。。。
ですんで枠をレポートヘッダーからグループヘッダーに移して「続くセクションをアンダーレイ」にチェック入れたら期待した通りの動きをしてくれました。万事?解決です。
返信くださった御二方、どうもありがとうございました。
しかし難しいですね、クリレポ。
同じような帳票を出力する方法
マイケル - 2008/11/12(Wed) 22:08 No.4079
- 前に質問した部品番号とロットの一覧の帳票において、タイトルだけを変えたものを同じプレビュー画面に表示したいのですがどうしたら良いでしょうか?
イメージは下記の通りです。
タイトル:帳票A
部品名 | ロット番号
-----------+--------------------------------------------
部品名1 | ロット番号1
メーカー1 | ロット番号2
| ロット番号3
-----------+--------------------------------------------
・
・
・
タイトル:帳票A(控え)
部品名 | ロット番号
-----------+--------------------------------------------
部品名1 | ロット番号1
メーカー1 | ロット番号2
| ロット番号3
-----------+--------------------------------------------
・
・
・
- Re: 同じような帳票を出力...
マイケル - 2008/11/13(Thu) 15:09 No.4086
自己レスです。
帳票Aと帳票A(控え)のクリスタルレポートを別々に作成し、
違うクリスタルレポートからそれらをサブレポートして表示しようとしたのですが、
サブレポートの中のサブレポートは不可みたいで、ロット番号の表示が消えてしまいました・・・
- Re: 同じような帳票を出力...
マイケル - 2008/11/13(Thu) 16:23 No.4089
- サブレポートの中でサブレポートを使うことができるクリスタルレポートのバージョンを教えていただけないでしょうか。
- Re: 同じような帳票を出力...
24x7 - 2008/11/13(Thu) 21:35 No.4095
- 残念ながら、サブレポートの中にサブレポートをいれることができるバージョンはありません。
- Re: 同じような帳票を出力...
マイケル - 2008/11/13(Thu) 23:20 No.4100
- 24x7さん、返信ありがとうございました。
結局、この問題は、以下のようにして解決しました。
もっとスマートな方法があるのかもしれませんが・・・
1.データテーブルにタイトルのカラムを追加し、タイトル=帳票Aのデータに続いて、タイトル=帳票A(控え)のデータを追加した。
データイメージ
タイトル 部品番号 部品名 メーカー ロット番号
---------------------------------------------
帳票A 部品番号1 部品名1 メーカー1 ロット番号1
帳票A 部品番号1 部品名1 メーカー1 ロット番号2
帳票A 部品番号1 部品名1 メーカー1 ロット番号3
帳票A 部品番号2 部品名2 メーカー2 ロット番号4
帳票A 部品番号2 部品名2 メーカー2 ロット番号5
帳票A(控え) 部品番号1 部品名1 メーカー1 ロット番号1
帳票A(控え) 部品番号1 部品名1 メーカー1 ロット番号2
帳票A(控え) 部品番号1 部品名1 メーカー1 ロット番号3
帳票A(控え) 部品番号2 部品名2 メーカー2 ロット番号4
帳票A(控え) 部品番号2 部品名2 メーカー2 ロット番号5
2.タイトル、部品番号で2重にグループ化
ページヘッダー
タイトルを表示
グループヘッダー(タイトルグループ)
グループヘッダー(部品名グループ)
詳細
グループヘッダー(部品名グループ)
グループヘッダー(タイトルグループ)
詳細にてロット番号を表示するサブレポートを挿入し、タイトル、部品番号をパラメータでリンクを張る。
といった感じです。
表示禁止などの細かい制御は、タイトルを利用して式フィールドを作成して行いました。
フォントの下詰め
初心者 - 2008/11/13(Thu) 17:55 No.4094
- はじめまして。
今回、初めてクリスタルレポートの開発をしています。
バージョンはXIです。
単純な話ですが、フォントの下詰めってできないのでしょうか?
横位置での中央寄せや、右詰めはできるようなのですが、
縦位置の中央寄せや、下詰めの方法が分かりません。
ご存じの方、よろしくお願い致します。
- Re: フォントの下詰め
24x7 - 2008/11/13(Thu) 21:45 No.4097
- ワードじゃないのでありませんね。
OLEのリンク
kch - 2008/11/13(Thu) 16:29 No.4091
- クリレポ10(VSバンドルでない)について
OLEでビットマップファイルをリンクさせ、
画像を印刷しております。
ファイル名固定で、上書き保存していけば
動的に更新できるのは助かるのですが、
デザイン時のパス設定を、相対で設定はできないのでしょうか?
開発環境と、実行環境のフォルダ構成が違うので
困っています。
印刷プレビュー画面
マイケル - 2008/11/13(Thu) 09:33 No.4080
プログラム実行時、プレビュー画面のサブレポートをクリックすると、前はサブレポートのみ表示されていたのですが、今は、そのままメインレポート+サブレポートが表示された状態なのですが、クリックする度にタブが増えていきます。これを抑制する方法はないでしょうか?
ツールバーの下部が以下の様な状態になります。
(通常時)
メインレポート
(クリック時)
メインレポート (サブレポート名) (サブレポート名)2 (サブレポート名)3 ・・・
クリックする度に(サブレポート名)のタブが増えていく
開発環境はVS2005で、クリスタルレポートはVSに付属のものを使用しています。
- Re: 印刷プレビュー画面
24x7 - 2008/11/13(Thu) 10:25 No.4081
ドリルダウンしないように設定すればいいのではないですか。
- Re: 印刷プレビュー画面
24x7 - 2008/11/13(Thu) 10:27 No.4082
サブレポートのオブジェクトの設定にドリルダウン不可にする項目はありませんか?
- Re: 印刷プレビュー画面
マイケル - 2008/11/13(Thu) 14:31 No.4085
- なさそうです。
ちなみにレポートオプションの「ドリルダウンですべてのヘッダーを表示」のチェックを外しても、ダメでした。
- Re: 印刷プレビュー画面
マイケル - 2008/11/13(Thu) 15:18 No.4087
- 自己レスです。
クリスタルレポートビューアーのEnableDrillDownプロパティをFalseに設定することで解決しました。
2重の繰り返しがあるデータの出力
マイケル - 2008/11/11(Tue) 08:55 No.4056
- 2重の繰り返しがあるデータを以下のように表示したいのですが
どうしたらよいでしょうか?
VS2005に付属するクリスタルレポートを使用しています。
部品名 | ロット番号
-------+--------------------------------------------
部品名1 | ロット番号1
| ロット番号2
| ロット番号3
------ +--------------------------------------------
部品名2| ロット番号1
| ロット番号2
------ +--------------------------------------------
部品名3 | ロット番号1
| ロット番号2
| ロット番号3
| ロット番号4
------ +--------------------------------------------
・ ・
・ ・
・ ・
ある製品に使用される部品名と、その部品のロット番号を一覧で印刷する帳票を作成しようとしています。
部品名の数は決まっていません。
各部品毎に複数のロット番号(数は決まっていない)があります。
- Re: 2重の繰り返しがある・..
24x7 - 2008/11/11(Tue) 09:30 No.4058
「2重の繰り返しがあるデータ」って何?閲覧者は、実際のデータは見えないのでどのようなデータを持ち、それからどのようなイメージのレポートを作成したいか書かないとアイデアができないと思いますが。。表示イメージはわかりましたが、では、どのようなデータを持っているのですか。
- Re: 2重の繰り返しがある・..
マイケル - 2008/11/11(Tue) 10:00 No.4059
説明が不適切で申し訳ありません。
2重の繰り返しとは、部品名とロット番号の2つが連続していることを意味しています。
データについては、以下の様なテーブルが現在存在します。
●製品テーブル
製品番号(Key)
シリアル号(Key)
部品番号
ロット番号
●部品情報テーブル
部品コード(Key)
部品名
メーカー名(など)
上記テーブルから、製品名で検索をかけ、以下の様なデータセットを作成してクリスタルレポートに渡そうと考えています。
部品名 ロット番号
-----------------------
部品名1 ロット番号1
部品名1 ロット番号2
部品名1 ロット番号3
部品名2 ロット番号1
部品名2 ロット番号2
部品名3 ロット番号1
部品名3 ロット番号2
部品名3 ロット番号3
部品名3 ロット番号4
- Re: 2重の繰り返しがある・..
24x7 - 2008/11/11(Tue) 10:10 No.4060
- レポートでは、部品名でグループを挿入します。
その結果、以下のようなイメージで表示されます。
グループ ヘッダー 部品名 ロット番号
-----------------------
詳細 部品名1 ロット番号1
部品名1 ロット番号2
部品名1 ロット番号3
部品名2 ロット番号1
部品名2 ロット番号2
部品名3 ロット番号1
部品名3 ロット番号2
部品名3 ロット番号3
部品名3 ロット番号4
詳細セクションの部品名を重複データを非表示にすることで期待したようなイメージになると思います。
- Re: 2重の繰り返しがある・..
マイケル - 2008/11/11(Tue) 18:21 No.4062
- 24x7さん、ありがとうございました。
補足なのですが、部品名の欄には、実際には部品名の他にメーカー名も表示します。
そうすると、下記のように1行空いてロット番号が表示されてしまいます。
良い方法はないでしょうか?
部品名 | ロット番号
-----------+--------------------------------------------
部品名1 | ロット番号1
メーカー1 |
| ロット番号2
|
| ロット番号3
-----------+--------------------------------------------
- Re: 2重の繰り返しがある・..
24x7 - 2008/11/12(Wed) 14:27 No.4071
- セルの結合のようなことはできないので、式フィールドを使ってみてはいかがでしょうか。
例えは、こんな感じです。
グループヘッダーには、以下の式フィールドを挿入します。
//変数の初期化
WhilePrintingRecords;
Numbervar groupcount;
groupcout:=0;
詳細には、以下の2つの式フィールドを挿入します・
//グループ内のデータ件数をカウントします。
WhilePrintingRecords;
Numbervar groupcount;
groupcount:=groupcount+1
//部品名とメーカーが交互に表示できるようにします。
WhilePrintingRecords;
Numbervar groupcount;
if remainder(groupcount,2) = 0 then
{メーカー}
else
{部品名}
この式フィールドの非表示の条件式には、以下の式を挿入します。
WhilePrintingRecords;
NumverVar groupcount;
groupcount > 2
但し、グループ内のデータが2件以上存在していないと期待した結果になりません。「メーカー」は表示されないはずです。
- Re: 2重の繰り返しがある・..
マイケル - 2008/11/12(Wed) 14:50 No.4074
- 返信ありがとうございます。
グループ内のデータは、最低1件の可能性があるため、予めテーブルにダミーデータ(空白など)を挿入する必要がありそうですね。
ちなみに昨晩から今日の午前中にかけて、サブレポートを使用してうまく出来ないか試行錯誤していました。
グループの部品番号と一致するレコードのロット番号をサブレポートに表示しようとしているのですがうまく行っていませんでした。
このやり方では無理なんでしょうか?
- Re: 2重の繰り返しがある・..
24x7 - 2008/11/12(Wed) 15:16 No.4075
- メインとサブレポートはどの項目でリンクするのでしょうか。
以下の項目では共通している項目が無いように見えますが・・
●製品テーブル
製品番号(Key)
シリアル号(Key)
部品番号
ロット番号
●部品情報テーブル
部品コード(Key)
部品名
メーカー名(など)
部品番号と部品コードは同じもの?
- Re: 2重の繰り返しがある・..
マイケル - 2008/11/12(Wed) 15:37 No.4076
- すみません、部品番号と部品コードは同義です。
ただ、製品テーブルと部品情報テーブルのままだと使えないので、
テーブルA
製品番号
部品番号
テーブルB
部品番号
部品名
メーカー名
の2つのテーブルを作成し、
メインレポートのグループ内に記述した部品番号と同じ部品番号をもつテーブルBのレコードをサブレポートで表示すれば良いのではないかと考えました。
- Re: 2重の繰り返しがある・..
マイケル - 2008/11/12(Wed) 22:04 No.4078
- なんとか解決しました。
テーブルは1つのままで、サブレポートを使用しました。
メインからサブへ部品番号をパラメータとして渡し、サブレポートでは、部品番号がパラメータの部品番号と一致するレコード全てを表示するように設定。
ただそれだけだと、同一グループ内でサブレポートが複数表示されてしまったため、
グループ内のデータ数をカウントし、1以外は非表示にするようにしました。
いろいろとありがとうございました。
プレビュー画面表示後
ジョン - 2008/11/07(Fri) 10:03 No.4048
- クリスタルレポートで帳票をプレビューして、プレビュー画面を
閉じたとき、処理が時間かかるのか背面のフォームに残像が残ってしまい、遅いシステムは使えないと顧客にクレームを付けられています。何か良い方法はあるのでしょうか?
- Re: プレビュー画面表示後
不破出雲 - 2008/11/07(Fri) 19:48 No.4052
わかりませんが、残像がのこるフォームにリフレッシュをかけるとか
程度のことだけでは、回避できませんか?
- Re: プレビュー画面表示後
24x7 - 2008/11/12(Wed) 14:39 No.4073
- プレビュー表示のときのコード記述は?あと、プレビュー画面を閉じるとはどのような操作で閉じるんですか。閉じた後、アプリケーションはどのような状態なんですか。
サブレポート
不破出雲 - 2008/10/30(Thu) 09:14 No.4014
- すごく初歩的な 質問ですいません。
サブレポートの使い方が分からないので教えていただけないでしょうか?
もしくは参考になるようなサイトがあれば教えてくださいお願いします。
- Re: サブレポート
24x7 - 2008/11/03(Mon) 22:14 No.4020
どのような使い方をしたいか説明してもらえませんか。漠然と使い方がわからないと聞かれても答えられないと思いますが・・
- Re: サブレポート
不破出雲 - 2008/11/06(Thu) 08:56 No.4034
- 24x7さん 質問の仕方が漠然とたもので申し訳ありませんでした。
このような機能をサブレポートで実現できるかどうかも、まだ不明なのですが
明細集計された行を表示して、その明細集計された明細自体をサブレポート
で表示をしたいと思っています。
それぞれA_TBL(集計DT),B_TBL(明細)と別データテ−ブルもっています。
ただB_TBLはA_TBLの明細をLOOPで処理中に随意取得している状態に
なっています。
- Re: サブレポート
24x7 - 2008/11/06(Thu) 22:08 No.4044
「明細集計された行」、「その明細集計された明細自体」って何ですか。
「ただB_TBLはA_TBLの明細をLOOPで処理中に随意取得している状態」とはCrystal Reports で行っている処理ですか、それとも VB プログラムで行っている処理ですか?
データの持ち方とそれをどのようなイメージに表示したいかが伝わらないとわからないと思いますが・・
- Re: サブレポート
不破出雲 - 2008/11/07(Fri) 20:07 No.4053
うまく伝えられなくて すみません
こういうのが、うまく伝えられないのは致命的ですね・・・・
再度をまとめさせていただきます。
1)TBL_A(明細TBL)
TBL_B(TBL_A集計TBL)
商品CD 数量
10112 10
10112 7
10113 13
10113 8
10114 6
10115 3
10115 1
TBL_B(集計データ)
商品CD 数量
10112 17
10113 21
10114 6
10115 4
クレスタルレポート表示
商品CD 合計数量 明細数量
10112 17 10
7
10113 21 13
8
10114 6
10115 4 3
1
というような表示をしたいと思っています
これで、今までより幾ばくか伝わりますでしょうか?
集計されたデータを表示して、その内訳の明細を
表示したいと思っています。
LOOPとか記載してましたが、その辺はよく考えたら一切関係
なかったので忘れてください
- Re: サブレポート
24x7 - 2008/11/11(Tue) 09:25 No.4057
- サブレポートを利用する方法で考えてみました。
メインレポートは、以下のようにデザインします。
「TBL_A(明細TBL)」と「TBL_B(TBL_A集計TBL)」の関係がいまいち理解していませんが・・
レポート ヘッダー
ページ ヘッダー
グループ ヘッダー [商品CD] でグループを挿入
"商品CD" "合計数量" "明細数量"<-- グループ ヘッダーに挿入
詳細 [商品CD] [サブレポート] [数量] を挿入
グループ フッター
ページ フッター
レポート フッター
サブレポート「TBL_B(集計データ)」のデザインは、以下のとおりです。
ページヘッダー <非表示>
グループ ヘッダー [商品CD] でグループを挿入 [数量] を挿入
詳細 <非表示>
ページフッター <非表示>
グループ ヘッダー以外は、非表示にします。
メインとサブレポートを [商品CD] でリンクする。
その結果、以下のような表示イメージになると思います。
商品CD 合計数量 明細数量
10112 17 10
10112 17 7
10113 21 13
10113 21 8
10114 6 6
10115 4 3
10115 4 1
[合計数量]は、サブレポートの数量になります。
あとは、重複しているものを非表示にします。
- Re: サブレポート
不破出雲 - 2008/11/11(Tue) 19:04 No.4063
- お世話になります 24x7 さん
ありがとうございます
サブレポートの表示はTBL_B(集計データ)をメインのレポートとして作成し
TBL_A(明細テーブル)をサブレポートとしてセットすることにより
クレスタルレポート表示
商品CD 合計数量 明細数量
10112 17 10
7
10113 21 13
8
10114 6
10115 4 3
1
上記の様な印刷をなんとか実現できました。
前回補足質問の際に表記を間違っていたので戸惑わせしまった
と思います。申し訳ございませんでした
下記の表記は
【間違い】
再度をまとめさせていただきます。
1)TBL_A(明細TBL)
TBL_B(TBL_A集計TBL)
商品CD 数量
10112 10
10112 7
10113 13
10113 8
10114 6
10115 3
10115 1
【正しい】
再度をまとめさせていただきます。
1)TBL_A(明細TBL)
商品CD 数量
10112 10
10112 7
10113 13
10113 8
10114 6
10115 3
10115 1
と書こうとして間違えました 申し訳ございませんでした
- Re: サブレポート
不破出雲 - 2008/11/11(Tue) 19:18 No.4064
ですが、サブレポートのセットの仕方でわからないところがあるので教えていただけないでしょうか?
VS2008 ProのVBを使用しています
メインのレポートにデータを取得したTBL_Bのデータテーブルをクリレポに送
った後に、同じデータセット内にあるTBL_Aのデータテーブルに取得しました。
クリレポのサブレポートに取得したTBL_Aを送ろうとして、エラーになってとまって
いたのですが、サブレポートに取得したデータを送る際はどのように書けばいい
のでしょうか?
送ろうとたものを削除すると、前述の結果が表示されました
そもそも、おくる必要があるばあいと、送らないいい場合の状況が分からないもの
お願いいたします
削除した一文
PCrr_TBLxx.Subreports(0).SetDataSource(dst_TBL)
dst_TB(データセット)の中にデータテーブル(TBL_A、TBL_B)が配置されています
- Re: サブレポート
24x7 - 2008/11/12(Wed) 14:37 No.4072
- 申し訳ございませんが、書いている内容を理解できません。もう一度、書いた内容を読み直して、伝えたいことが書かれているか確認してもらえませんか?
ブラウザで表示することは可能ですか
ぽち - 2008/11/10(Mon) 23:19 No.4055
- こんばんは。
Crystal Report 2008で作成したレポートを、他のマシンのIEで表示することは可能でしょうか。
ヘルプとか見るとWebで配信ができると書いてあったりするのですが、具体的な手順が分かりません。
ググってみると、Visual Studioなどでコントロールを貼り付けてActiveX経由で見られるようなのですが、Crystal Report 2008以外の開発環境がありません。
IEで見られるようにすることは可能なのでしょうか?
- Re: ブラウザで表示するこ...
24x7 - 2008/11/11(Tue) 10:11 No.4061
- Crystal Reports 2008 製品のみでは実現できません。
- Re: ブラウザで表示するこ...
ぽち - 2008/11/12(Wed) 01:23 No.4065
- コメントありがとうございます。
Crystal Report 2008に加えて、どのような開発環境があれば、ブラウザから見られるレポートを作成できますでしょうか?
- Re: ブラウザで表示するこ...
24x7 - 2008/11/12(Wed) 14:12 No.4070
Visual Studio .NET 2005 か、2008 じゃないですか。
全体と種類別
ランディ - 2008/11/07(Fri) 14:35 No.4049
- VB2008付属のクリスタルレポートで開発しています。
仮に「部門」と言うデータがあり、そこには「1」「2」の2種類しかないのですが、
最初に全体を表示、その後に「1」のみのデータ「2」のみのデータという感じで
表示したいのですが、「1」「2」それぞれは当然グループで出力出来るんですが、
全体を出したいときは、どうするのでしょうか?
レポートを分けるくらいしか思いつかなかったのですが、プレビューする関係で
2回に分けると当然プレビューも2回になるので、若干お客さんに言い訳しにくくて・・
一回で出来るようなやり方は有りますでしょうか?
宜しくお願いいたします。
- Re: 全体と種類別
不破出雲 - 2008/11/07(Fri) 15:20 No.4050
求める結果なのかわかりませんが
全体と部門別のレイアウトが一緒なので、UNION ALL でくっつけました
一つ目のSELECTが全体、二つ目が部門1、三つ目が部門2としました。
チェックボックスで全体、部門1、部門2の表示させたい部門選ばせて
選んであるものが検索対象としました。
SELECT *
FROM (SELECT KEY0,部門全体
FROM 部門TBL
UNION ALL
SELECT KEY1,部門1
FROM 部門TBL
UNION ALL
SELECT KEY2,部門2
FROM 部門TBL) 全体TBL
WHERE KEY in (KEY0,KEY1,KEY2)
としてみました。
チェックボックスの状態によりKEYの値を変更しています。
わかりにくい説明ですみません
- Re: 全体と種類別
ランディ - 2008/11/07(Fri) 16:25 No.4051
- >不破出雲様
早速試してみたところ、やりたかったとおりに集計できました。
部門には2つの値しかなかったので、連結するSQLに全体の時は「0」で固定出力させ、
クリスタルレポートの方でグループ出力で0,1,2の3種類で集計させることで対応がとれました。
UNIONは知ってはいましたが、こういう時に使えると言うことを思いつきませんでした・・
本当に助かりました。
ありがとうございました。
表示形式の変更は可能ですか?
マイケル - 2008/11/04(Tue) 17:32 No.4023
- ページ数やレコード番号といった特殊フィールドの表示形式を変更することは可能でしょうか?
例えば、レコード番号を、001,002と3桁表示にすることは可能でしょうか?
- Re: 表示形式の変更は可能...
24x7 - 2008/11/04(Tue) 23:28 No.4024
文字列に置き換えることになりますね。
- Re: 表示形式の変更は可能...
マイケル - 2008/11/05(Wed) 18:03 No.4028
- 文字列に置き換えるとはどういうことでしょうか?
- Re: 表示形式の変更は可能...
24x7 - 2008/11/05(Wed) 22:06 No.4030
直接、特殊フィールドを挿入するのではなく、式フィールドを利用します。
- Re: 表示形式の変更は可能...
マイケル - 2008/11/06(Thu) 10:44 No.4037
- 式フィールドですか。
いろいろ難しそうですね。過去レスを見てみます。
- Re: 表示形式の変更は可能...
マイケル - 2008/11/06(Thu) 14:05 No.4038
式フィールドの入力に、ページ番号といった特殊フィールドの値は使えなさそうですが・・・・
- Re: 表示形式の変更は可能...
マイケル - 2008/11/06(Thu) 16:56 No.4039
ページ番号は、PageNumber という変数で取得できるみたいすね。
- Re: 表示形式の変更は可能...
マイケル - 2008/11/06(Thu) 18:53 No.4040
式フィールドに以下を追加
if PageNumber < 10 then
"00" + ToText(PageNumber,0)
else if PageNumber < 100 then
"0" + ToText(PageNumber,0)
これでページ番号はOKなのですが、総ページ数はなんという変数に入るんでしょうね?
- Re: 表示形式の変更は可能...
24x7 - 2008/11/06(Thu) 21:58 No.4042
- TotalPageNumber とかいう特殊フィールドはありませんか?
- Re: 表示形式の変更は可能...
マイケル - 2008/11/07(Fri) 08:50 No.4046
- TotalPageCountという変数が存在しました。
やったこれで一つ解決です。ありがとうございました。
ちなみに、特殊フィールドがどういう変数に割り当てられているか分かるような一覧は存在しないのでしょうか?調べるのに一苦労でした。
無題
不破出雲 - 2008/11/06(Thu) 08:44 No.4033
クリスタルレポートビューアーの『レポートの印刷』のボタンを押して表示される
プリンタダイアログなのですが、通常使うプリンタが選択されてしまいます。
ビューアの『レポートの印刷』にクリスタルレポートに設定したプリンタが選択さ
れた状態のプリンタダイアログを開くことはできないのでしょうか?
【目的】
専用伝票などをトレーで切り分けて使っているので、各印刷帳票ごとにトレー
別に設定されているプリンタが選択されたプリンタダイアログが開かれるよう
にしたいとおもっています。
- Re: 無題
24x7 - 2008/11/06(Thu) 22:04 No.4043
- 経験上、それはできませんね。
- Re: 無題
不破出雲 - 2008/11/07(Fri) 06:22 No.4045
- そうですか・・・・ ありがとうおざいます
ビューアーの閉じるボタン
サライ - 2008/11/05(Wed) 14:24 No.4027
ビューアーには閉じるボタンをクリックしてもビューアーを閉じることができないのですが、どうすれば有効になるのでしょうか?
現在は、ビューアーを貼り付けるフォームの閉じるボタン(右上隅)をクリックして閉じています。
- Re: ビューアーの閉じるボタン
24x7 - 2008/11/05(Wed) 22:20 No.4032
- ビューア内の閉じるは、ビューアを閉じるためのものではありません。これは、ドリルダウンしたときに利用するものです。
- Re: ビューアーの閉じるボタン
サライ - 2008/11/06(Thu) 10:05 No.4036
- ドリルダウンとは何ですか?
- Re: ビューアーの閉じるボタン
24x7 - 2008/11/06(Thu) 21:56 No.4041
グループが挿入されているときに、そのグループをクリックするとそのグループだけのデータが表示されます。その状態で閉じるが有効になり、閉じるをクリックすることで元の画面に戻ります。
マルチタスク?
不破出雲 - 2008/11/06(Thu) 09:03 No.4035
- すいません、質問が2個させていただいています。
申し訳ございません。
開発環境を記載するのを忘れていので、記載させていただきます。
V.S2008のVBです。
ヘッダーの位置について
サライ - 2008/10/31(Fri) 11:22 No.4016
- レポートヘッダーとページヘッダーの位置を入れ替えることはできますか?
ページヘッダーはあくまで各ページの最上部に作成日やページ番号を表示したいのですが、
現状、レポートヘッダーの下に表示されてしまいます。
- Re: ヘッダーの位置について
24x7 - 2008/11/03(Mon) 22:12 No.4019
- レポートヘッダーは、レポートに1回(1ページ目のみ)しか表示、印刷されません。レポートヘッダーは使わず、ページヘッダーで代用すればいいのではないですか。
- Re: ヘッダーの位置について
サライ - 2008/11/04(Tue) 10:43 No.4021
説明が悪く申し訳ありません。
レポートヘッダーには、レポートのタイトル(○○送付票)を記載します。
ページヘッダーには、日付やページ数などを記載します。
レポートヘッダーの下にページヘッダが表示されるため、
1頁の表示は、タイトルの下に日付がページ数が表示されてしまいます。
他のページと同じように、ページの最上部に日付やページ数を表示したいですが何か良い方法はないでしょうか?
- Re: ヘッダーの位置について
24x7 - 2008/11/04(Tue) 23:37 No.4025
レポートヘッダーを利用せずにページヘッダーを利用すればいいのではないですか。バージョンが書いていないけど、ページヘッダーを2つに分割し、ページヘッダーa とページヘッダーbとします。ページヘッダーaには、レポートヘッダーの項目とページ数、日付を挿入します。ページヘッダーbは、既存のままとします。
最初のページ(1ページ目)は、ページヘッダーa を表示し、ページヘッダーbは非表示とします。2ページ目以降は、ページヘッダーbのみが表示されるようにします。
ページヘッダーの表示、非表示は、条件式に以下のように記述します。
//ページヘッダーa
WhilePrintingRecords;
PageNumber <> 1
// ページヘッダーb
WhilePrintingRecords;
PageNumber = 1
こんな感じです。
- Re: ヘッダーの位置について
サライ - 2008/11/05(Wed) 09:44 No.4026
- 24x7様へ
返信ありがとうございました。
そういう方法があるのですね。
ところで、「PageNumber <> 1」といった記述はどこでやるのですか?
バージョンですが、クリスタルレポート11で、Visual C# 2005を使用しています。
- Re: ヘッダーの位置について
24x7 - 2008/11/05(Wed) 22:16 No.4031
Crystal Reports 11 レポートを開き、セクションエキスパートを開きます。該当のページヘッダーを選択し、非表示の条件式に上記の式をそれぞれ挿入します。
類似フォーマットの複数帳票レポート出力
むーちょ - 2008/11/05(Wed) 21:19 No.4029
帳票A:ヘッダと明細とフッタのある帳票で、明細行が1ページに入り切らない場合は複数ページ印刷する
帳票B:帳票Aと同様の構成で、かつ、明細は帳票Aと全く同じデータが入る
帳票A、Bともに2枚目以降のフォーマットは1枚目と同じで、ヘッダ・フッタも類似している
帳票A、Bを一緒にレポート出力したいと考えています
出力順は以下のようです。
明細が多く2枚目以上の場合、
帳票A 1ページ目
帳票A 2ページ目・・・
帳票B 1ページ目
帳票B 2ページ目・・・
サブレポートを使えば出来ますが、帳票AとBがほとんど同じという事もあり
出来るだけ1帳票で実装したいと考えていますが良い方法が思いつきません
もし良い方法があればご教授下さい。
FORMをまたがって同じデータセットをしようする方法
堪忍袋 - 2008/10/29(Wed) 15:59 No.4013
Formをまたがって同じデータセットを使用するにはどうしたらよいですか?
環境はVisual C# 2005です。
処理の流れとしては、
1.FORM AでMDBの値を読み込みデータセットに格納
2.FORM Aの印刷ボタンを実行し、FORM Bを起動
3.FORM Bのクリスタルレポートビューアーに帳票を表示
といった具合です。
- Re: FORMをまたがって同じ...
不破出雲 - 2008/10/30(Thu) 20:28 No.4015
- 環境が違うのでこれでいいのかわかりませんが
以下のようなことを私はしています。
Visual Basic 2005です。
このようなことでいいのかな?
ReportDocument.SetDataSource(dataSet)
FORM_B.CrystalReportViewer1.ReportSource = ReportDocument
FORM_B.Show()
2つのサブレポの合計行20で改行
サブレポ - 2008/10/23(Thu) 23:55 No.4009
詳細1にサブレポAと詳細2にサブレポBを表示させています。
各サブレポの行数は不定です。
そこで、サブレポA + サブレポBの合計行数が20で改行を行いたいです。
グローバル変数を使用しようと思ったのですが、うまくいきません。
※サブレポAだけで20行でも改行を行い、もちろんサブレポAが0件でサブレポBが
20件でも改行を行いたいです。
環境は、クリレポ11です。
宜しくお願いします。
- Re: 2つのサブレポの合計...
24x7 - 2008/10/24(Fri) 21:19 No.4010
- 改行でなく、改ページですよね。残念ならが、無理ですね。
- Re: 2つのサブレポの合計...
サブレポ - 2008/10/26(Sun) 23:00 No.4012
- ご返答ありがとうございました。
他の出力方法を考えてみます。
質問です
たか - 2008/10/08(Wed) 12:41 No.3983
はじめまして。 いつもお世話になっております。
早速ですが、現在クリレポ4.7をつかって以下の事ができないのか模索している
最中です。
なにか分かる事がございましたら、アドバイス頂けないでしょうか?
VB6を使用です。
---------------------------------
ヘッダ部
---------------------------------
明細A
---------------------------------
明細B
---------------------------------
フッタ
以上のような帳票があり、ディテール扱いになるものが二箇所存在する
ような形になってしまいます。
お手数ですが、お知恵を貸して頂ければ幸いです。
- Re: 質問です
24x7 - 2008/10/12(Sun) 06:45 No.3984
明細Aと明細Bに分かれることが期待した結果、それとも期待していない結果?
質問内容をもう一度、読み返して、何がしたいのか・・教えてください。
- Re: 質問です
たか - 2008/10/17(Fri) 09:37 No.3988
- ご返信遅くなりました。
明細Aと明細Bというディテールを作りたいのですが、うまくつくれておりません。
そもそもディテールを複数持たせる事ができるのかもわかっておりません・・・。
- Re: 質問です
24x7 - 2008/10/24(Fri) 21:24 No.4011
バージョン 4.7 って VB6 にバンドルされているものですか? 新たにセクションは追加できなければ、無理です。
MDBにアクセスする時のパスワードは?
堪忍袋 - 2008/10/23(Thu) 18:56 No.4008
Accessで作成したMDBのデータをクリスタルレポートに出力しようとしているのですが、
実行時、ログインとパスワードを聞いてきますが何を入力すればよいのでしょうか?
ちなみにMDBにはパスワードを設定していません。
環境は、Visual Stdio2005 C#、Access 2003です。
クリレポで画像をレコード毎に表示
nishi - 2008/10/23(Thu) 10:20 No.4007
いつも掲示板拝見させていただいています。
初心者なのでわからないのですが、
WindowsXP(SP2)/Vista
VisualStudio2008 VB.NET
にてバンドル版のクリスタルレポートで帳票を作成しているのですが、
データテーブルに収められた、
画像ファイルのパス名(ローカルPC内フォルダを使用)を使って、
詳細セクションに、レコードごとに違う画像を表示するには
どうすればよろしいでようか。
サイトを検索しても、
・BlobFieldObjectを使用すると良い。
・OLEオブジェクトで条件式でURLを与えると良い。
などと書かれていて、具体的にどうすればよいのかわかりません。
手順などお教えいただければ幸いです。
nishi
無題
ホゲー - 2008/10/22(Wed) 11:30 No.3997
- おぉそうですか 私のところではSQLServerですが対応できてますが・・・
nullも日付ありも出てこなくなったと言うことは別に問題がありそうな・・
breakの条件とか大丈夫ですか
- Re: 無題
ホゲー - 2008/10/22(Wed) 11:31 No.3998
- すみません res先を間違えました
- Re: 無題
ガオー - 2008/10/22(Wed) 12:12 No.4001
- ボケーさん、お返事ありがとうごあいます。
breakの条件・・・・
どういう意味でしょうか?
レコード選択エディタで以下のコーディングをしているだけです。
length(cstr({日付})) = 0
- Re: 無題
ホゲー@初心者 - 2008/10/22(Wed) 16:24 No.4004
- うちの環境でテストしてみましたが
やはりどちらでも抽出(印刷)できますねぇ
どちらでも->
length(cstr({日付})) = 0 -> 日付が無いもののみ
length(cstr({日付})) <> 0 ->日付があるもののみ
クリレポ側のsql文にはwhere文にはのらないようですね
インスタンス上でどうなってるか分かればありがたいですね
ブレーク条件ですが
印刷の結果印刷できていないとするなら(=読めていても印刷されない)ブレークの問題かも・・・と言うことです
いっそ呼び出し側アプリで制御はどうでしょう
- Re: 無題
ガオー - 2008/10/23(Thu) 08:31 No.4006
ホゲーさん、お返事ありがとうございます。
>いっそ呼び出し側アプリで制御はどうでしょう
そちら側で考えます。
無題
ホゲー@初心者 - 2008/10/22(Wed) 11:37 No.3999
- 逆に調べていることがありまして
条件によって背景色を付けたいのですが
boolean属性の式の指定でエラーになってしまってます
{項目}=True ではだめなんですか? 「式の結果は数値でなければなりません」となり
{項目}=-1 だと「ここは論理値が必要でーす」と怒られます
- Re: 無題
ガオー - 2008/10/22(Wed) 13:21 No.4002
- 私は条件でTRUEの場合は背景色をかえるレポートを以下のように
おこなっております。
if 数値型項目1 > 数値型項目2 then crGreen
- Re: 無題
ホゲー@初心者 - 2008/10/22(Wed) 14:46 No.4003
- ガオーさん ありがとうございました
なるほど確認できました。
if文にすれば良かったのですね^^;
クリレポへのデータ反映方法を教えてください
PCアプリ初心者 - 2008/10/21(Tue) 19:29 No.3992
今週から、PCアプリの開発に参加した超初心者です。
(通常は組込みソフトの設計を担当しているのですが、納期が厳しいということで、急遽アプリ部隊に借り出されました)
環境は、VS2005 のC#で、クリスタルレポートを使用し、帳票やバーコードラベルの印刷を行おうと考えています。
データベースから部品コード、注文番号などを取得し、クリスタルレポートに反映したいのですが、どのようにしてクリスタルレポートにデータを渡すのか分からず悩んでいます。
データベースからの取得は、なんとかなりそうなのですが、クリスタルレポートは、他のメンバも使ったことがないので、ネットで情報を調べまくっています。
MukaMukaCryRepo1のサンプルコードを見ると、SetDataSourceという関数を使用しているようですが、詳細を把握できていません。
初歩的な内容で申し訳ありませんが、よろしくお願いします。
- Re: クリレポへのデータ反...
PCアプリ初心者 - 2008/10/21(Tue) 20:39 No.3993
質問の補足ですが、プログラムとクリスタルレポート間のデータの受け渡しは、データセットを利用するしか方法はないのでしょうか?
例えば、簡単な例だと、あるFormのテキストボックスから任意の数字や文字列を入力して、それをクリスタルレポートで印刷する場合でも、一旦、データセットを作らないといけないのでしょうか?
- Re: クリレポへのデータ反...
PCアプリ初心者 - 2008/10/22(Wed) 11:52 No.4000
Textオブジェクトについては
((CrystalDecisions.CrystalReports.Engine.TextObject)cr.ReportDefinition.ReportObjects["Text1"]).Text = "うひひ";
という風にしてプログラム上から変更できることがわかりました。
Fieldオブジェクトの場合、どうしたらよいのでしょうか?
日付型
ガオー - 2008/10/22(Wed) 09:24 No.3994
- Oracleデータベースの日付型フィールドがNULLのレコードを抜き取る
記述はどのようにすればよいのでしょうか。
- Re: 日付型
ホゲー - 2008/10/22(Wed) 10:55 No.3995
- length(cstr({日付}))=0
で如何でしょうか
- Re: 日付型
ガオー - 2008/10/22(Wed) 11:08 No.3996
- ボケーさん早速のお返事ありがとうございます。
試させて頂いたのですが、
NULLでないものも含めて何も抽出されませんでした。
どうしてでしょうか。
VBによるクリレポの開発について
pipi - 2008/10/21(Tue) 12:16 No.3991
- VB.NET 2005 Express にて、標準添付ではないCRYSTAL REPORTS 2008 Version 12 で作った帳票を印刷をしたいと思います。
クリレポは、VB6以前に何度か開発したことがあり、当時はクリレポをインストールすると、VBのツールボックスにクリレポのアイコンが表示され、そのアイコンをフォームに設置してコーディング、というやり方を行っていました。
今回も、同様に、、と思ったのですが、VisualStudioのツールボックスにクリレポのアイコンが登場しません。
DLLを参照するなど、他の方法があるのかな、、、とも考えているのですが、どうもうまくいきません。(やったことを書くと長くなるので省略します。)
どなたか解決策等、ご存知の方がいらっしゃいましたら、
ご教授して頂きたく、宜しくお願いいたします。
折れ線ごとにマーカー形状を設定したい
nishi - 2008/10/20(Mon) 12:33 No.3990
- VB.NET 2008 で
バンドル版のcrystal reptrtsにて
折れ線のチャートを作成しているのですが、
複数の折れ線のマーカー形状を
それぞれ別のタイプに設定できますか。
折れ線の線形状の設定でもよいです。
色しか変えられないのでしょうか。
nishi
CODE39 バーコード印刷についての質問
初心者YI - 2008/10/17(Fri) 11:11 No.3989
いつも参考にさせて頂いております。
宜しくお願い致します。
早速ですが、以下の開発環境で
・OS :Windows XP
・DB :Oracle9i
・APP:VB.net2003 + net2003付属CrystalReports(バージョン?)
バーコードフォント「CODE39」を使用し帳票出力を行っております。
その際、バーコード表示を行う項目の文字間に「スペース」がある
場合、CrystalReportsの帳票を画面(CrystalReportViewer)を介さず
直接印刷した場合は、問題なくスペースもバーコード印刷されるのでが、
一旦画面(CrystalReportViewer)に内容を表示し、画面から印刷を
行うと、文字間のスペースが切れた状態で印刷されてしまいます。
但し、画面(CrystalReportViewer)上は、問題なく表示されています。
また、画面(CrystalReportViewer)からPDFファイルへ帳票を変換後、
PDFファイルの印刷を行った場合も、問題なく表示されておりました。
[例]
@項目内容
「ABC DEF GHI」
Aバーコード項目への編集内容
「*ABC DEF GHI*」
B現象
'C'と'D'、'F'と'G'の間のスペースが空白表示されます。
Cテスト時のプリンター(レーザープリンター)
EPSON 又は CANON
現在、プリンターの問題なのか?
CrystalReportViewerの問題なのか?
別の問題なのか?
等々・・・
まったく検討もつかない状態です。
どなたか解決策等、ご存知の方がいらっしゃいましたら、
ご教授して頂きたく、宜しくお願いいたします。
質問です
初心者A - 2008/10/06(Mon) 20:17 No.3982
いつも参考にさせていただいてます。
宜しくお願い致します。
開発環境
Windows XP
VS2005
CrystalReportsXI
で行っています。
現在、帳票の一部にバーコード出力を行っているのですが
バーコードの高さが低くてもっと高く表示できないかと
いわれています。ちなみにバーコードフォントはCODE39
で出力しています。
フォントサイズの変更を行えばいいのですが、横幅が今
のサイズでぎりぎりで。
どなたか高さだけ変更する方法ご存知の方がいらっしゃ
いましたら、ご教授ください。
宜しくお願い致します。
- Re: 質問です
24x7 - 2008/10/12(Sun) 06:47 No.3985
該当フィールドの高さを調整しても高く表示できなければ、できません。
- Re: 質問です
初心者A - 2008/10/16(Thu) 17:24 No.3987
自己解決しました。
別のバーコードフォント(BarCode39.ttf)をセットしたら調整して表示できるようになりました。
データ領域の赤枠を非表示にする方法
たろう - 2008/01/11(Fri) 19:26 No.3486
- VS2005と、VS2005に標準添付のクリスタルレポートを使用しています。
プレビュー画面を表示したとき、ツリービューアイコンをクリックし、ツリービューを表示します。
このとき、ツリービューのデータを選択すると、
該当するデータを表示している領域がプレビュー画面中で赤枠で囲まれます。
画像はプレビュー画面のイメージですが、都合の悪い部分を黒塗りしています。
また、赤枠が黒色に近くなっているのでわかりにくいですが、イメージはつかめると思います
この赤枠を表示しないようにしたいのですが、なにか方法はあるのでしょうか?
- Re: データ領域の赤枠を非...
たいぞう - 2008/10/15(Wed) 10:54 No.3986
- これは解決しましたか?
私も今これで悩んでいます。
無題
- 2008/10/03(Fri) 14:20 No.3981
-
クリレポ7→9
まぁ - 2008/07/15(Tue) 16:13 No.3885
- はじめまして。
初心者プログラマです。
VB6 + クリレポ7で作ったプログラムをVB6 + クリレポ9へバージョンアップさせたいとおもっております。
今まではcrystl32.ocxを使用し、以下のようなソースを記述していましたが、
それをどのように修正すればよいのか分かりません。
CrystalReport1.SelectionFormula = "{file.kb} = '1'"
CrystalReport1.Formulas(0) = "システム年月日='" & Format(Now, "yyyymmdd") & "'"
ヒントになるようなことでも良いので、よろしく御願いします。
- Re: クリレポ7→9
24x7 - 2008/07/15(Tue) 21:48 No.3886
- Crystal Reports 9 なら、RDC (CRAXDRT.DLL) を利用することになります。
- Re: クリレポ7→9
24x7 - 2008/07/15(Tue) 22:07 No.3887
- VBコードは、こんな感じですかね。
Dim CrystalApplication As CRAXDRT.Application
Dim CrystalReport1 As CRAXDRT.Report
Set CrystalApplication = CreateObject("Crystalruntime.Application.9")
Set CrystalReport1 = CrystalApplication.OpenReport(App.Path & "\Report1.rpt",1)
CrystalReport1.RecordSelectionFormula = "{file.kb} = '1'"
CrystalReport1.FormulaFields.Item(1).Text = "システム年月日='" & Format(Now, "yyyymmdd") & "'"
インデックス値は、1 からです。
- Re: クリレポ7→9
まぁ - 2008/07/16(Wed) 09:19 No.3888
24x7さん回答ありがとうございます。
初歩的な更に質問をさせてもらいます。
CRAXDRT.DLLを利用と言うのはVBの参照設定やコンポーネントで何か設定する必要がありますか?
CRAXDRT.DLLが見つからずCRAXDRT9.DLLという物があったのですが、別物ですか?
お手数ですがよろしく御願い致します
- Re: クリレポ7→9
24x7 - 2008/07/16(Wed) 12:01 No.3890
Crystal Reports 9 は、CRAXDRT9.DLL でした。失礼しました。参照設定から Crystal Reports ActiveX Runtime .. を選択します。また、ビューアもコンポーネントから選択します。
- Re: クリレポ7→9
まぁ - 2008/07/16(Wed) 16:13 No.3892
- 24x7さん回答ありがとうございます。
参照設定・コンポーネントの設定で上手くいきそうです。
今までと別件なのですが、
接続時にクリレポ7では、
CrystalReport1.Connect = "DSN=" & iniDSN & ";UID=" & iniUID & ";PWD=" & iniPWD & ";DSQ=" & iniDbName
の様に設定していました。
クリレポ9ではどのように設定したら良いのでしょうか?
過去の書き込みを見て
Set ConnectProperty = CrystalReport1.Database.Tables.Item(i).ConnectionProperties.Item("DSN")
Set ConnectProperty = CrystalReport1.Database.Tables.Item(i).ConnectionProperties.Item("User Id")
Set ConnectProperty = CrystalReport1.Database.Tables.Item(i).ConnectionProperties.Item("Password")
Set ConnectProperty = CrystalReport1.Database.Tables.Item(i).ConnectionProperties.Item("Database")
を利用しようとしたのですが、
DatabaseとDSNの場合にエラー「Runtime Error!」が表示されてしまいます。
原因が分からないので、分かる方よろしく御願いします
- Re: クリレポ7→9
24x7 - 2008/07/17(Thu) 13:23 No.3893
- データベースは何ですか?それと、"Database" の指定なしではどうですか?
- Re: クリレポ7→9
まぁ - 2008/07/18(Fri) 11:49 No.3897
データベースはoracle9.2でodbc接続をしています。
根本的に接続の記述方法が間違っているのでしょうか?
- Re: クリレポ7→9
24x7 - 2008/07/18(Fri) 15:02 No.3898
- Dim ConnectPropery As CRAXDRT.ConnectionProperty
Set ConnectProperty = CrystalReport1.Database.Tables.Item(i).ConnectionProperties.Item("DSN")
ConnectProperty.Value="ODBC データソース名"
という感じで、各プロパティを設定しているんですよね。
- Re: クリレポ7→9
まぁ - 2008/09/29(Mon) 17:52 No.3979
- 前回質問後、一度辞めたのですが、再びこの作業に取り掛かることになりました。
前回と同様CrystalReport1.Database.Tables.Item(i).ConnectionProperties.Item("DSN")
でエラーになります。
もちろん、上記24x7さんのように記述してます。
イミディエイトウインドウで見てみたところ、
実行時エラー'-2147417848(80010108)'
オートメーションエラーです。
起動されたオブジェクトはクライアントから切断されました。
と表示されます。
何度も質問して申し訳ありませんが、どなたかわかる方宜しくお願いします。
- Re: クリレポ7→9
まぁ - 2008/10/03(Fri) 13:49 No.3980
- 自己レスです。
接続方法の記述を変更しました。
CrystalReport.Database.Tables(1).SetLogOnInfo
を使用したら上手くいきました。
ご迷惑をおかけしました
バイトで文字数範囲指定
key - 2008/09/22(Mon) 14:58 No.3975
- はじめまして。
まだまだ初心者です。
バージョン11なんですが、表示文字数制限がうまくいかずに困ってます。
{データ名}[1 To 10]とした時に10文字目までを取得するようですが、これをバイト数で10バイト目まで、というようにはできないのでしょうか?
関数を検索したり色々試していますがうまくいきません。
それともカスタム関数を作成しなければ不可能なんでしょうか?
- Re: バイトで文字数範囲指定
24x7 - 2008/09/25(Thu) 07:21 No.3976
残念ですが、バイト数を取得することができません。式フィールドを利用して、1文字ずつ半角文字 (1バイト)、それ以外か判断することになると思います。
- Re: バイトで文字数範囲指定
key - 2008/09/26(Fri) 12:49 No.3978
ありがとうございます。
なんとかバイト数から該当文字数を引き出す関数を作成できました。
なんか変わりの機能があればいいですね。。
質問です
M - 2008/09/22(Mon) 06:22 No.3974
はじめまして、お世話になります。
次のような帳票を作りたいのですが、どうしていいのか良くわかりません。
ヘッダ
詳細部
詳細部
詳細部
ヘッダ
詳細部
詳細部
詳細部
また、詳細部を5レコード出力したら、下にスペースがあっても強制的に改ページする…
見たいな処理は出来るんでしょうか?
- Re: 質問です
24x7 - 2008/09/25(Thu) 07:25 No.3977
- 「ヘッダ」ってどのセクションで実現したいか書いていませんが・・
とりあえず、詳細セクションを5レコード毎に改ページする方法は、以下のとおりです。
セクション エキスパートの「出力後に改ページ」の条件式に以下の式を挿入します。
WhilePrintingRecords;
Remainder(RecordNumber,5)=0
バージョンが書いていないので、メニューなどの名称が違ったらゴメンナサイ。
型とか
memo - 2008/09/18(Thu) 12:11 No.3971
はじめまして
メモメモします
型変換
CBool 倫理 Boolean
CCur 通貨 Currency 例: -\1,000
CDbl 数字 Number 例: 1,000.00
CStr 文字 String
CDate 日付 Date 例: 2008/09/18
CTime 時間 Time 例: 00:00:00
CDateTime 日時 DateTime 例: 2008/09/18 00:00:00
\1,000や-\1,000の\だけを消す。
if Currency < 0 then
String = String(1 to 1) + mid ( str , 3)
formula = String
else
str = MID ( String , 2)
formula = String
end if
以上メモでした。
- Re: 型とか
memo - 2008/09/18(Thu) 13:06 No.3972
プロパティのCurrencyの「\」を削除すれば「\」を消せました。
初回の印刷の改善について
じゃす - 2008/09/05(Fri) 22:24 No.3967
- はじめまして。
クリスタルレポートで印刷を実行したとき、
最初は十数秒かかって、一部目(初回)が印刷されます。
そして、二部目(別の帳票で2度目)になると、すぐに印刷されます。
初回の印刷から、すばやく印刷できないものでしょうか?
環境
VisualBasic2005
CrystalReports XI R2
お手数ですが、ご教授のほどお願いします。
- Re: 初回の印刷の改善について
24x7 - 2008/09/18(Thu) 08:39 No.3970
必要なランタイムのロードに時間がかかるので、初回からすばやく印刷することはできないですね。
クロスタブについて
初心者 - 2008/09/08(Mon) 12:35 No.3968
はじめまして。
行・列ともに可変のデータを出力しようとしてクロスタブを使用しているのですが、最終行に「合計値」、最終列には「平均値」を表示することは可能でしょうか?
良い方法がわかる方、よろしくお願い致します。
印刷設定について
ラクラク - 2008/08/29(Fri) 08:52 No.3955
はじめまして
下記の環境で開発しております。
言語:VB2005
帳票ツール:クリスタルレポート
プリンター:OKI MICROLINE 8480SU2
以下の設定が分からなくて困っております。
お手数ですがご教授お願い致します。
よろしくお願い致します。
@プリンターのサイズ設定
Aプリンターの単票、連続用紙の切り替え方法
- Re: 印刷設定について
24x7 - 2008/08/31(Sun) 10:33 No.3958
- 用紙サイズは、以下のリンクにサンプルがありますよ。
http://www.hirano.cc/crystalreports/misc.html
- Re: 印刷設定について
ラクラク - 2008/09/01(Mon) 14:20 No.3959
こんにちは お世話になります。
「サーバーのプロパティ」で新たに用紙作成したサイズを指定したいのですが
同様でよろしいですか?
教えて頂いたサンプル>
cr.PrinterOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4
私の実装プログラム>
cr.PrinterOptions.PaperSize = 新たに作成した用紙名
上記でうまく用紙が切り替わらないです。
お手数ですがよろしくお願いします。
- Re: 印刷設定について
24x7 - 2008/09/02(Tue) 20:36 No.3962
用紙サイズの名称で処理が行なわれていないので新規に作成された用紙名を指定してもだめですね。
PaperA4 と指定しても実際はその値が設定されます。
ユーザー定義サイズを利用している場合、用紙サイズの横と縦のサイズを指定したらどうでしょうか。(用紙サイズではなく・・)
- Re: 印刷設定について
ラクラク - 2008/09/04(Thu) 16:49 No.3966
- お世話になります。
用紙サイズの縦と横のプロパティはReadOnlyで指定できないみたいです。
よろしくお願い致します。
おれの巨根ホーケーがうなるw
海綿体ジェロ - 2008/09/04(Thu) 15:18 No.3965
- 今年で38歳で、棺おけまでドーテーかと思ってたら、いきなりあっさり捨てられたwww ドーテーふぇちらしくて42萬でかってくれたし、大爆笑www http://orange-z.net/dts/
クリスタルレポートでの数字表示方法
なる - 2008/09/04(Thu) 05:33 No.3964
- VB.NET 2005 とCrystalReportsXI Release2で開発してます。
数字の出力方法で小数点位置を合わせて小数点の0部分等をスペースにする方法はありませんでしょうか?
例)
.12
1.0101
11110.011
印刷方向の違う帳票をサブレポートで出力
まっつん - 2008/09/01(Mon) 23:15 No.3960
- はじめまして
メインレポートが縦方向
サブレポートが横方向
の帳票を同時に出力することは可能でしょうか?
どちらかのレポートのテキストを反転させて出力するしか方法はないのでしょうか?
よろしくお願いします
- Re: 印刷方向の違う帳票を...
24x7 - 2008/09/02(Tue) 20:34 No.3961
- それは、無理ですね。
- Re: 印刷方向の違う帳票を...
まっつん - 2008/09/02(Tue) 23:55 No.3963
- 24x7さん
返信ありがとうございます。
有識者のご意見が聞けて納得しました。
結局、テキストを反転させて出力することにしました。
無題
pp_yy - 2008/08/29(Fri) 16:57 No.3956
VB2005 + Crystal Reports を利用して、社内システムを作成しようとしています。
C#にてエントリー画面を作成して、その画面で入力された値から出力すべきデータ
を抽出し、プリンターへ直接印刷するものを作りたいのですが上手くできません。
直接印刷ではなくビューワを表示して印刷することは下記のソースで可能なのですが、
これをどのように変更すれば直接印刷できるようになりますでしょうか?
もし分かる方がいましたらコメントをお願いします。
CrystalDecisions.Shared.ParameterFields cFields = new CrystalDecisions.Shared.ParameterFields();
CrystalDecisions.Shared.ParameterField cField = new CrystalDecisions.Shared.ParameterField();
CrystalDecisions.Shared.ParameterDiscreteValue discValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
cField.Name = "pic_num";
discValue.Value = textBox1.Text;
cField.CurrentValues.Add(discValue);
cFields.Add(cField);
crystalReportViewer1.ParameterFieldInfo = cFields;
crystalReportViewer1.ReportSource = new CrystalReport1();
- Re: 無題
24x7 - 2008/08/31(Sun) 10:31 No.3957
- プリンタへの印刷は、以下の PrintToPrinter メソッドを利用します。
CrystalReport1.PrintToPrinter(1, false, 0, 0)
VB2005で・・・・
tamura - 2008/08/19(Tue) 13:46 No.3949
- 初めて投稿するものです。
現在 OS :Windouws XP
ツール:VB2005 + Crystal Reports (バージョン不明)
を使って社内業務をしています。
現在 レポートを作成しているのですが
DBで複数件数がある場合 1件目のデータを出力したら
次のページを開いて2件目のデータを出力するという物を作っているのですが
1.クリスタルレポートで次のページを開く方法
2.フォームをそのまま使いたいので最初のページをコピーし次のページに張付
の方法どなたか分かる人いませんか?
よろしくお願いします。
- Re: VB2005で・・・・
24x7 - 2008/08/26(Tue) 20:56 No.3951
- まず、どんなレポートでもかまわないからデザインし、プレビュー表示してみてください。
- Re: VB2005で・・・・
tamura - 2008/08/28(Thu) 16:21 No.3954
ビューを作ってLoopでまわしてデータを反映させたら
うまくいきました。
印刷時
Atushi - 2008/08/26(Tue) 21:12 No.3953
初めて投稿します。よろしくお願いします。
使っているものは、
OS : windows XP
開発言語 : VB2005 + ついているCrystal Reports
を使っています。
レポートを作成しています。
レポートを表示させる時のprintMode を ActiveX で使用しています。
pdfは、使用していません。
クリスタルレポートの作成時の印刷設定は、横で作成しています。
ところが、常に印刷ボタンを押した場合に、縦になっています。
クリスタルレポートの印刷の設定が反映されていません。
毎回詳細設定を行う必要があるのですが、クリスタルレポートの印刷設定での印刷、または、PGから縦、横の設定することは、できないでしょうか?
バッチを当てると直ると書かれているを見て、バッチを当てても見たのですが・・・何も変わりませんでした。
説明が、不足しているかもしれませんが、どなた印刷時の設定の方法を教えていただけないでしょうか。
Oracle環境を変更したら異常発生
くまお - 2008/07/31(Thu) 11:47 No.3922
はじめまして。
システムの環境移行があり、帳票出力に使用しているOracleのテーブルを同一DBの別ユーザに移行したところ、ViewReportメソッドを発行時に次のメッセージが出力され帳票出力ができなくなりました。
Failed to open a rowset
[Oracle][ODBC][Ora]ORA-00942 表またはビューが存在しません
PGでは次の通りDBの接続先設定を行っております。
もちろん移行先のユーザを指定しています。
Private Sub Connect_DB()
Dim objCPProperties As CRAXDRT.ConnectionProperties
Dim objDBTable As CRAXDRT.DatabaseTable
Set objDBTable = m_ReportObj.Database.Tables(1) ' レポート内の最初のテーブルを取得
Set objCPProperties = objDBTable.ConnectionProperties ' 接続プロパティのコレクションを取得
objCPProperties.DeleteAll ' コレクションを初期化
objDBTable.DllName = "crdb_odbc.dll" ' DLL設定
With objCPProperties
.Add "DSN", m_DSN
.Add "User ID", m_User_ID
.Add "Password", m_Password
.Add "Database", m_DataBaseName
End With
Set objCPProperties = Nothing
Set objDBTable = Nothing
End Sub
開発、動作環境は下記の通りです。
・VB6
・Oracle9i
・Crystal Reports 9
宜しくお願いします。
- Re: Oracle環境を変更した...
24x7 - 2008/08/05(Tue) 13:58 No.3933
削除しなくてもできませんか?
m_ReportObj.Database.Tables(1).ConnectionProperties.Item("DSN") = "ODBCデータソース名"
m_ReportObj.Database.Tables(1).ConnectionProperties.Item("User ID") = "ユーザ名"
m_ReportObj.Database.Tables(1).ConnectionProperties.Item("Password") = "パスワード"
m_ReportObj.Database.Tables(1).Location = "スキマー名.テーブル名"
試していないから正しく動作するかわかりませんが、こんな感じです。
- Re: Oracle環境を変更した...
くまお - 2008/08/15(Fri) 14:17 No.3946
- 24x7さま
返事が遅くなって申し訳ありません。
なるほど、上記の方法で試したところ正常に出力できました。
ただ、やはりPG修正は必要なのですね。。
スキーマ変更のみだったので、あわよくばPG修正なしで行けるかと思っていたのですが。。残念です。
ありがとうございました。
文字列の末尾の空白について
sow - 2008/08/08(Fri) 01:31 No.3939
スミマセン、、すごく簡単そうで難しい!?ことをお聞きします。
クリレポ10環境です。
MS Accessのあるカラムに下記の文字列がセットされているとします。
1レコード目:"____3456789W"
2レコード目:"____1234567_" ("_"は半角スペースを表します。)
この文字列をクリレポで出力する際に次の加工をして出力するとします。
「文字列の末尾が半角スペースならそのまま出力、そうでなければ末尾
の文字の一つ前に半角スペースを挿入して出力する。」
<希望する出力結果>
1レコード目:"____3456789_W"
2レコード目:"____1234567_"
クリレポのRight関数で末尾の1文字を取得すると、
1レコード目:"W"
2レコード目:"7"
Length関数で文字数を取得すると、
1レコード目:12
2レコード目:11
となり、2レコード目の末尾の半角スペースを文字として取得することが
できません。
Excelでは末尾の半角スペースを文字として認識できるのですが、なぜか
クリレポではできずに困っています。
以下の条件を満たす方法で<希望する出力結果>を得ることは可能
でしょうか。
1.Accessの参照フィールドを変えない。
(クエリを作成して出力結果の文字列を生成したフィールドを参照
したりするのはNG)
2.当方、複雑なソースを書く知識がないので、関数を組み合わせて
(Excelのネストレベルで)この問題をクリアしたい。
どうかご教授の程、宜しくお願い致します。
- Re: 文字列の末尾の空白に...
24x7 - 2008/08/08(Fri) 11:09 No.3940
この項目に保存されるデータの長さは固定ですか?それとも可変ですか。可変だと難しいかも。。
- Re: 文字列の末尾の空白に...
sow - 2008/08/08(Fri) 20:10 No.3942
24x7様
お返事ありがとうございます。
データは固定長(12byte)ですが、全半角混在もありえます。
例)"_____あいう_"
"____ABえおC_"
"__かきくけDE" など
※ただし文字列の末尾は必ず半角文字または半角スペースになります。
クリレポってExcelのLENBやMIDB関数などの様にバイト数で処理できない
ので、全半角が混在すると面倒ですよね。。
- Re: 文字列の末尾の空白に...
24x7 - 2008/08/08(Fri) 23:08 No.3943
- 古いバージョンでは、バイト数の長さを取得する関数がありましたね。
あと、Crystal Reports XI と出力結果が違いますね。
例えば、以下の式フィールドでは半角スペースが取得できました。
//@TEST
WhilePrintingRecords;
StringVar test:="____ABえおC " // 最後は、半角スペース
//@RIGHT
WhilePrintingRecords;
@RIGHT({@TEST},1)
- Re: 文字列の末尾の空白に...
24x7 - 2008/08/08(Fri) 23:25 No.3944
文字列の最後が半角スペースが取得できないことを利用して・・
以下の式フィールドで文字列の最後の文字が半角スペースであるか判定します。
WhilePrintingRecords;
StringVar test:="____ABえおC "
NumberVar i;
NumberVar j;
For i:=1 To length(test) Do
(
if (半角文字の判定文) Then
j:=j+1
Else
j:=j+2;
);
// 固定長(12バイト) と比較する
if 12 <> j Then
//最後の文字が半角スペース
True
Else
// 最後の文字が半角スペース以外
False
これを元に文字列の編集に利用するのはどうでしょう。
あいにく、Crystal Reports XI では、半角スペースが取得できるので、上記の式フィールドはうまく動作しません。
あと、半角文字の判定文ですが、A-Z であれば、以下のように記述します。もっとスマートな方法もあると思いますが・・
test[i] >= "A" and test[i] =< "Z"
オリジナルDatasetが作れない
まつまる - 2008/08/01(Fri) 13:22 No.3927
- WinXP・VS2008・VB.NET・SQL Server2005
お世話になります。
もしかすると根本的なところで勘違いしているかも知れない内容ですが、よろしくお願いします。
SQL Serverのデータベースを参照して処理を行うアプリを構築しています。
DB内のテーブルをクエリでどうこうしても得られない構造のデータがほしいため、
ストアドで一時テーブルを作ってループでデータを格納し、
その一時テーブルをデータソースとしてCrystalReportで出力したいのです。
CrystalReportのデータソースとしてDatasetを作ろうにも元となるオブジェクトが
DB上にないため、DBのオブジェクトを参照せずに空のDatasetを作ることにしました。
(ストアドで作る一時テーブルを格納するDatasetです。)
そこで、このサイト参照してオリジナルのDatasetを作りにかかったのですが、
のっけからつまづきました。
空のDatasetに配置できるツールボックス上にはTableAdapterやQueryなどはあるのですが
elementやattributeなどは見当たりません。
表示されていないだけなのかと探したのですが見つけられませんでした。
それとも何かバージョンの違い等なのでしょうか?
どなたかアドバイスをよろしくお願いします。
- Re: オリジナルDatasetが・..
ポン太 - 2008/08/08(Fri) 15:16 No.3941
DataTableを追加後、DataTableを右クリック「追加」−「列」でもだめですか?
vs2005はこれでいけてましたが。
出力後のページ毎ファイル作成
営業マン - 2008/07/31(Thu) 11:58 No.3923
- みなさまにお伺いしたのですが、
Crystal Reports for Visual Basic(Product 4.6.1.0 CRW32)を使用しています。
(これでバージョン表記できてますでしょうか。何分営業なものですいません)
クリレポで出力している帳票(取引先毎に改ページされており、だいたい50〜100枚ぐらいになってます)があるのですが、それを何とか取引先毎(ページ毎)にファイル分割して保存できないかとお客さまから言われています。
お客さま曰く「クリレポの帳票を保存すると、1ファイルになるが、それを取引先毎に別れたファイルで保存したい」とのことなのです。
出力された帳票から、何とかして、ページ毎にファイル分割することはできないものでしょうか。(出力された後から、ファイル作成することが目的です。出力時に取引先毎にファイル化するようなことは考えていません(当方諸事情により))
なんとか、お客さまの要望を叶えることができればと思っております。
みなさまのご助言を頂ければと思います。
よろしくお願い致します。
- Re: 出力後のページ毎ファ...
24x7 - 2008/08/05(Tue) 14:03 No.3934
ページ毎にファイルに保存は、最新バージョンでもできませんよ。アプリケーションでも用意すれば別ですが。。
- Re: 出力後のページ毎ファ...
営業マン - 2008/08/05(Tue) 17:14 No.3935
- ご回答ありがとうございます。やはりできないのですね。
アプリケーションでも用意すれば・・・のお話ですが、これは、帳票出力する前に
アプリでページ毎に出力するというようなイメージでしょうか。
帳票出力後に、用意したアプリからページ毎に出力するようなことができれば、
そのようにしたいなと考えています。技術的に可能でしょうか。
たびたびですいませんが、ご回答お願い致します。
- Re: 出力後のページ毎ファ...
24x7 - 2008/08/06(Wed) 09:46 No.3936
Crystal Reports の形式のままでは難しいと思います。例えば、PDF 形式にエクスポートするときにページ指定が可能です。でも、古いバージョンでは PDF 形式にエクスポートはできません。
- Re: 出力後のページ毎ファ...
営業マン - 2008/08/07(Thu) 10:22 No.3938
たびたびのご回答ありがとうございました。
形式を変換させて保存後に出力というような方向で考えたいと思います。