過去の桐井戸端BBS (桐ver.9)
25567 フォームのコマンドボタンを使ってレポート印刷をしたい suzuro 2004/03/23-13:32
初めまして
過去ログを検索したのですがわからない事がありましたので
お聞きしたいとおもいます。

桐9-2004を使っていますが

フォームのコマンドボタンを使ってレポート印刷をするという事ができません。

機能名には「レポート印刷」
機能パラメータリストには対象レポートを指定すれば
印刷出来たような気がするのですが
このボタンを作成するとボタンがアクティブになりません。

それならばと
コマンドボタンで
機能名「開く」で対象レポートを一度開いてから
機能名「レポート印刷」でやってみたところ
レポートを開いたところで
桐自体がエラーで落ちてしまいました。

どうすれば コマンドボタンを使ってレポートファイルを開かずに
レポート印刷が出来るのでしょうか。

よろしくお願いします。
25568 Re>コマンドボタンでレポート印刷 悲しげ 2004/03/23-16:13
記事番号25567へのコメント
どもっ、suzuroさん
コマンドボタンの機能「レポート印刷」は、当該フォームの編集対象表を、
パラメータリストで指定したrptファイルで印刷することのようです。
ボタンが使用不可表示状態となっているのは、おそらく当該フォームが
編集対象表を持っていないからではないでしょうか?

で、対策。
1)当該レポートの対象表を当該フォームの編集対象表にしてしまう。

2)kevファイルを設定して、
  ボタンの機能 同パラ
  手続き実行  印刷処理
以下、kevの記述例
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
手続き定義開始 印刷処理()
 表 "レポートの対象表ファイル名.tbl"
 レポート印刷 "当該レポートファイル名.rpt"
 終了 表 編集対象表
手続き定義終了
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL

3)コマンドボタンの機能「開く」で直接レポートファイルを指定。
  ボタンの機能 同パラ
  開く     "当該レポートファイル名.rpt"
(記述はこの1行だけ)

この中で、3)が最も簡単でして、私の桐v9sp1では問題なく動きます。

>機能名「開く」で対象レポートを一度開いてから
>機能名「レポート印刷」でやってみたところ

この操作の意味することがが不明ですが、もしかしたら3)はv9sp1ではできるが、
v9-2004ではできないように仕様変更されていると云うことなのですかね?

25578 Re:コマンドボタンで 佐田 守弘 2004/03/24-01:43
記事番号25567へのコメント
suzuroさん
私も通常は、イベントファイルの中にレポート印刷を行う一般手続きを作っておき、
コマンドボタンからこの手続きを実行する方法で印刷しています。

さて、質問に書かれているコマンドボタンの機能名でレポート印刷する件ですが、

●機能名にレポート印刷を指定した場合
これは悲しげさんが書かれている通り、フォームの編集対象表に対して、
指定したレポートでの印刷の実行指示になります。
従って、対象表に関係ないレポートをこの方法で印刷しようとすると、
レポートのオブジェクトのソース値に設定されている項目が存在しない事によるエラーになります。

●機能名に開くを設定した場合
この場合には、フォームの編集対象表に関係なく、レポートが開かれます。
この場合には、そのレポートの対象表は設定されている表です。
レポートが開かれると、プレビューが表示されます。ここから印刷ボタンを押せば、
印刷できるはずです。

プレビューなしに印刷したいのではなかろうかと思いますが、
これは多分無理でしょう。開く機能でレポートを開いた場合、Explorerからレポートファイルをダブルクリックで開いたり、
あるいは桐のファイルパレットから会話処理でレポートを開くのと同じで、まず最初にプレビューが表示されます。
会話処理の場合、レポートを開いたらいきなり印刷され、終了したら桐も終了するような動作はしません。

●エラーの原因
質問文の
 >機能名「開く」で対象レポートを一度開いてから
 >機能名「レポート印刷」でやってみたところ
とは、この2つを機能名に設定したという事でしょうか。
もしそうであるならば、最初の機能でレポートは既に開き、開いている状態で
次の機能で同じレポートをレポート印刷で開こうとするので、エラーになる
のだろうと思います(多分、共有違反のエラー?)。
(桐が落ちるかどうかは試した事がないので解りませんが)



25580 Re:コマンドボタンで suzuro 2004/03/24-10:51
記事番号25578へのコメント
ありがとうございました。

印刷出来ない件は
編集対象表が未指定だったのが原因でした。

フォームをメニュー画面として作成してるため。
複数の表を使用するので、
結果として一括を書いて対処致しました。

まだまだ勉強不足で色々参考になりました。

(o*。_。)oペコッ


戻る