• ベストアンサー
  • すぐに回答を!

クリスタルレポート8でのFormula??たすけてください。

  • 質問No.993549
  • 閲覧数1985
  • ありがとう数6
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 57% (447/781)

開発環境
windows2000 SP3
visualbasic6.0 SP5
crystlreport8.0

今クリスタルレポート8で
アクセスのMDBのテーブルの中身を
レポートに出力しています。

テーブルの中身には
Aグループ Bグループ Cグループ 
の3つが全て入っているとして

VBからクリスタルレポートを出力する際に
ワークテーブルに全レコードが入った状況で
クリスタルレポートに出力する際に
Aグループだけを出力させたいのですが
そのようなことは可能でしょうか?
可能であれば方法を教えて下さいませんでしょうか?

Formulaというのをちらっと耳にしたのですが
何のことやら・・・涙

元のワークテーブルに対象のレコードだけを
入れておいて全件出力すればよい話なのですが
それは今できない状態です。

よろしくお願いします。

質問者が選んだベストアンサー

  • 回答No.4
  • ベストアンサー

ベストアンサー率 50% (173/345)

他の質問を見ました。

APIを使用して、帳票を出力されているのですね。
私の場合、ビューワーコントロールやオブジェクトを宣言することにより出力してますので、以下の私の回答とはそもそも出力の方法が違うようですね。

少なからず、出力方法は違いますが、私の場合、以下の方法で問題なく目的を達成しております。

他の方からの回答をご期待下さい。
補足コメント
SEAMOON

お礼率 57% (447/781)

http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/0003/api/hyo8.html

ここの表にはない

SelectionFormulaに対応するAPIが分かれば何とかなりそうですが。。。
どなたか知らないでしょうか。
投稿日時:2004/09/09 17:08
お礼コメント
SEAMOON

お礼率 57% (447/781)

何度も回答ありがとうございます!!!
ビューワーコントロールを使用しての帳票出力は
行ったことがあったのですが、Starfaxの関連で
APIを使わざるをえない状況です。
丁寧な回答に感謝致します。
投稿日時:2004/09/09 15:59

その他の回答 (全3件)

  • 回答No.3

ベストアンサー率 50% (173/345)

CRViewer1
とは
Crystal ReportsのReport Viewerコントロールのことです。
ここでは、Report Viewerのプレビュー出力を例としてます。

また、オブジェクトの認識のためには、Ctystal Reportsのライブラリを使用するわけですので、参照設定で、
Crystal Report 8 ActiveX Designer Run Time Library
Crystal Report 8 ActiveX Designer Design Time Library(Internal)
等をチェックしてください。

また、StarFaxについては、残念ながらわかりません。
いずれにせよ、レコード選択式への条件設定でしたらReportオブジェクトのRecordSelectionFormulaプロパティを介して設定することができます。
お礼コメント
SEAMOON

お礼率 57% (447/781)

Declare Function PESetSelectionFormula Lib "crpe32.dll" (ByVal printJob%, ByVal formulaString$) As Integer

で解決することができました!!!!
ありがとうございました。
投稿日時:2004/09/09 17:25
  • 回答No.2

ベストアンサー率 50% (173/345)

#1の者です。

すみません、先ほど下記の宣言が抜けてましたね。
追加します。

Dim objApplication As New craxdrt.Application
補足コメント
SEAMOON

お礼率 57% (447/781)

ユーザー定義型が宣言されていません・・と出ます。
投稿日時:2004/09/09 14:05
  • 回答No.1

ベストアンサー率 50% (173/345)

クリスタルレポートのレコード選択式に設定する内容をそのままVBからRecordSelectionFormulaプロパティを通して渡してあげれば可能です。
具体的にはこんな感じです。

Dim objReport As craxdrt.Report
Set objReport = objApplication.OpenReport("レポートファイル名.RPT", 1)
objReport.RecordSelectionFormula = "{テーブル名.フィールド名} = 'Aグループ'"
CRViewer1.ReportSource = objReport
CRViewer1.ViewReport

他にも、ソート順や、DBの接続先など、同様の方法(それぞれ専用のプロパティ)で、色々なものを変更することができますので応用してみてください。
補足コメント
SEAMOON

お礼率 57% (447/781)

CRViewer1 とは何でしょうか・・
投稿日時:2004/09/09 14:02
お礼コメント
SEAMOON

お礼率 57% (447/781)

おぉぉ!?SelectionFormulaというのに
条件を書くとうまく抽出できました。
ありがとうございます。
これで第一段階はクリア・・・。

今この抽出してできたクリスタルレポートを
StarFaxの機能を使ってTIFファイルにして
それをFAX送信させたいのです。
単純にワークテーブルの中身をすべてクリスタル
レポートに表示させてできたレポートをTIFファイル
にはできたのですが、
この抽出条件を渡す方法が分からず困ってます。
投稿日時:2004/09/09 13:49
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

ピックアップ

ページ先頭へ