VB6とクリスタルレポートを使って、印刷画面を作っているのですが、
VB画面の印刷ボタン押下時に、プレビュー画面を出したいのですが、
出し方がわかりません。
どのようにしたら、プレビュー画面を出すことが出来るのでしょうか。
よろしくお願いします。

A 回答 (1件)

クリスタルレポートのバージョンがわかりませんが


印刷の際に「CrystalReport1.Destination = crptToPrinter」としていると
思いますが、プレビューの場合は
「CrystalReport1.Destination = crptToWindow」とすればプレビュー表示
されます。

ちなみに
CrystalReport1.Window~プロパティで画面サイズの設定も行えます。
    • good
    • 0
この回答へのお礼

出来ました!
ありがとうございましたm(_ _)m

お礼日時:2002/04/08 18:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qクリスタルレポートのプレビュー画面を常に手前に表示しておく

VB6.0 SP5 で クリスタルレポートの帳票を
作っています。

今、プレビュー画面が開いているFormのうしろに回り込んでしまうという現象が起きていて、これを防ぎたいのですが、どなたか良い方法を知りませんでしょうか?

Aベストアンサー

VB6.0ではuser32.dllのAPIを使う必要があります。

Declare Function SetWindowPos Lib "user32.dll" (ByVal A As Long, ByVal B As Long, ByVal C As Long, ByVal D As Long, ByVal E As Long, ByVal F As Long, ByVal G As Long) As Long
これを標準モジュールの文頭に貼り付けてください。
要は7個のLong引数を持った関数です。
あとは、常に手前に表示したいもののハンドルをAに代入してこれを呼び出します。
デザイン時のオブジェクトなのでハンドルはhWndプロパティで簡単に出ますね。
以下はFrmReportフォーム(フォームオブジェクト)を最前面に持っていく処理です。
Re = SetWindowPos(FrmReport.hWnd, -1, 0, 0, 0, 0, 1 or 2)
解除したいときは以下を実行します。
Re = SetWindowPos(FrmReport.hWnd, -2, 0, 0, 0, 0, 1 or 2)
B以降を触ると様々な効果がありますが、それはAPIを勉強すればすぐに分かりますね。
ただ使うだけならこれで十分です。

VB6.0ではuser32.dllのAPIを使う必要があります。

Declare Function SetWindowPos Lib "user32.dll" (ByVal A As Long, ByVal B As Long, ByVal C As Long, ByVal D As Long, ByVal E As Long, ByVal F As Long, ByVal G As Long) As Long
これを標準モジュールの文頭に貼り付けてください。
要は7個のLong引数を持った関数です。
あとは、常に手前に表示したいもののハンドルをAに代入してこれを呼び出します。
デザイン時のオブジェクトなのでハンドルはhWndプロパティで簡単に出ますね。
以下はFrmRepo...続きを読む

QVBとクリスタルレポートについて

VBとクリスタルレポート8を使い帳票を作ったのですが
VB側である条件によりクリスタルレポートの接続先を変更したいのですが
なんどやってもサーバはまだ開かれていませんと言うメッセージが出てしまいます。
接続はオラクル9接続なのですが分かる方いましたらよろしくお願い致します。
ちなみにプレビューにはCRViewerを使用しているのですがエラーはCRViewerから出ているっぽいのですが・・・・

Aベストアンサー

サンプルがどこかにいってしまったため、コードが今はかけませんが。。。

帳票を取得した後に、その帳票が使用するテーブルそれぞれにログインをしなければなりません。

QVB.NET と クリスタルレポート

現在、VB.NETのプログラムから、
クリスタルレポートを使用して印刷を出しています。

ですが、現在よくわからないエラーに悩まされています。

何枚かを送って印刷するぶんには問題ないのですが、
15枚以上印刷をしようとすると、

PrintToPrint のところでエラーとなるのですが、
いざエラーメッセージを見ると、「エラーはありません」となっています。
エラーになり止るのに、メッセージでは「エラーはない」という風になっているので、
完全に意味がわかりません。

なお、印刷は15枚以上、別々にプリンタに送っています。
(ループで指定データ数分まわして、その枚数をプリンタに送っています)

その印刷するときのデータのせいかな、とも思ったのですが、
複数枚出さず、単体で印刷しようとするときちんと動作します。

それに、エラーが出たときにその部分を飛ばして、
残りの印刷をさせようとするときちんと動作します。

「VB.NET エラーはありません」 や 「クリスタルレポート エラーはありません」 で
ウェブ検索をしてみたのですが、情報を見つけることができませんでした。

理由をご存知の方、
こうではないかという予想を付けられる方、
ぜひご教授願います。

現在、VB.NETのプログラムから、
クリスタルレポートを使用して印刷を出しています。

ですが、現在よくわからないエラーに悩まされています。

何枚かを送って印刷するぶんには問題ないのですが、
15枚以上印刷をしようとすると、

PrintToPrint のところでエラーとなるのですが、
いざエラーメッセージを見ると、「エラーはありません」となっています。
エラーになり止るのに、メッセージでは「エラーはない」という風になっているので、
完全に意味がわかりません。

なお、印刷は15枚以上、別々にプリンタに...続きを読む

Aベストアンサー

英語の情報ですが...
http://scn.sap.com/thread/1445453

英語が苦手なので、間違っていたらゴメンなさい。
「レポートを開く,データソースの変更,データ追加のいずれかに問題がある」
「-crpetrace 7オプションをコマンドラインに追加して、クリスタルレポートのトレースを取得することができる」


※ あまり参考にならないかもしれません。

QVB.NET→クリスタルレポートにおける変数の渡し方

VB.NETの中で、クリスタルレポートを使用しているのですが、.NET上で配列に入れた物とテーブルの1カラムの値を比較し、一致するレコードだけを抽出したいのですが、.NET上で配列にいれた値をどうやってクリスタルレポートに渡せば良いのでしょうか?

Aベストアンサー

.NET付属のクリスタルレポートでは、DataSetにデータを格納して、レポート上の式フィールドで比較判断が可能です。

DataSetで空のデータテーブルを作成しておいてから、デザインします。

QVBからACCESSのレポートをプレビューで表示

お世話になっております。
VBからのMDBの帳票印刷の事で悩んでおります。

データベースとしてMDBを使用しているので、MDBのレポートのプレビュー
を表示しようとしました所、下記のコードで実現することができました。

Dim oleAccess As Access.Application

Set oleAccess = GetObject(App.Path & "\data.mdb")
Call oleAccess.DoCmd.OpenReport(ReportName, acPreview)

oleAccess.DoCmd.Maximize
oleAccess.Visible = True

開発環境では問題なくプレビューの表示ができたのですが、
このプログラムを、ACCESSの入っていない環境で、ACCESSランタイムをインストール
して実行すると、印刷時に「エラー429 ActiveXコンポーネントはオブジェクトを作成
できません」とのエラーが出て、印刷だけができません(その他の動作は正常です)。

エラー内容から、ACCESSオブジェクトの作成に失敗していると思うのですが、
Access.Application型を使わずに、ACCESSのプレビュー・印刷をする方法は無いのでし
ょうか?(たとえば、DAO.DataBase型でMDBを開いて印刷する方法など・・・)

以前にも同じような質問をさせて頂いたのですが、私の力不足のため、再度ご質問させて頂きます。

どんな事でもいいので、アドバイスを頂ければ幸いです。
よろしくお願い致します。

お世話になっております。
VBからのMDBの帳票印刷の事で悩んでおります。

データベースとしてMDBを使用しているので、MDBのレポートのプレビュー
を表示しようとしました所、下記のコードで実現することができました。

Dim oleAccess As Access.Application

Set oleAccess = GetObject(App.Path & "\data.mdb")
Call oleAccess.DoCmd.OpenReport(ReportName, acPreview)

oleAccess.DoCmd.Maximize
oleAccess.Visible = True

開発環境では問題なくプレビューの表示ができたのですが、
このプロ...続きを読む

Aベストアンサー

VBのランタイムももちろん入っているのですよね?
OSやIEのバージョンなどの違いでも同事象が発生することがあるようです。
「エラー429 ActiveXコンポーネント」でネット検索すると色々情報が出るので見てみて下さい。

参考URL:http://search.yahoo.co.jp/search?ei=UTF-8&fr=df-luna2&meta=vc%3D&p=%E3%82%A8%E3%83%A9%E3%83%BC429+ActiveX%E3%82%B3%E3%83


人気Q&Aランキング

おすすめ情報