過去の桐井戸端BBS (桐ver.9)
31035 レポート印刷において編集対象を(リンク表)を変数で設定したい ルパン 2006/02/07-10:37
先日の「項目名の変数設定法」ではいろいろとお世話になりました。
新たな壁にぶち当たりました。XP、V9、sp3です。
まず、変数で編集対象表名やその中の項目名を表し、イベント処理にてフォーム画面にだすことができました。
そして、そのフォーム画面と同様の様式で印刷するために、レポートファイルも作成しました。
その際、リンク表設定では、フォームの編集対象表をそのまま受け継ぐのかなと思い、
空欄にしておきましたが、いざ、イベント処理でプレビュをすると、編集対象表がありませんとエラー表示がでました。
そこで、レポートのリンク表設定覧に編集対象表を表す変数名(ここでは&使用表)と入力しましたが、
イベント処理でプレビュをすると「&使用表.tblはみつかりません」とエラー表示されます。
編集対象表の&使用表は、年度を変数としたtbl表で、例えば、「2005表」「2006表」等でフォーム画面上では年度を指定することで
きちんと表示されます。
  レポート印刷において、リンク表に変数を設定する方法はありませんか?
また、イベント処理上のコマンドにあるのでしょうか?
 少々解りづらい説明でしょうが、よろしくご教授下さい。
31036 Re:レポート印刷において編集対象を(リンク表)を変数設定するには? 宮城 2006/02/07-11:22
記事番号31035へのコメント
ルパンさん、こんにちは。

リンク表って編集対象表のことですか? 桐の用語に合わせたほうがこういうところで議論するにはいいですよ。

「空欄にする」という意味がわからないのですが。「この表のこの項目をこのテキストにもってくる」という形で
デザインしますので、編集対象表(というかデザイン対象表)のないレポートでもない限り、
編集対象表が空欄てことはありえません。

ただし、コマンド「レポート」印刷では、tblの記述がないことからもわかるようにそのときの編集対象表が「対象」表となります。

>その際、リンク表設
>定では、フォームの編集対象表をそのまま受け継ぐのかなと思い、空欄にし
>ておきましたが、いざ、イベント処理でプレビュをすると、編集対象表があ
>りませんとエラー表示がでました。

これって、レポートを呼んだ瞬間、フォームを終了させてたりしませんか?

31037 Re:レポート印刷において編集対象を(リンク表)を変数設定するには? ルパン 2006/02/07-13:29
記事番号31036へのコメント
宮城さん,早速のコメントありがとうございます。
>
>リンク表って編集対象表のことですか? 桐の用語に合わせたほうがこういう
>ところで議論するにはいいですよ。

すみません、説明不足でした。ファイル属性の中の「リンク表」タブの「表ファイル(T)」欄でした。


>「空欄にする」という意味がわからないのですが。「この表のこの項目をこの
>テキストにもってくる」という形でデザインしますので、編集対象表(という
>かデザイン対象表)のないレポートでもない限り、編集対象表が空欄てことは
>ありえません。


>ただし、コマンド「レポート」印刷では、tblの記述がないことからもわかる
>ようにそのときの編集対象表が「対象」表となります。

そのようにこれまで理解しておりました。

>>その際、リンク表設
>>定では、フォームの編集対象表をそのまま受け継ぐのかなと思い、空欄にし
>>ておきましたが、いざ、イベント処理でプレビュをすると、編集対象表があ
>>りませんとエラー表示がでました。
>
>これって、レポートを呼んだ瞬間、フォームを終了させてたりしませんか?

フォームは、最終的にそのフォーム上で終了ボタンで終了させるように設定してありますので、
レポートを呼んだ瞬間に終了しておりません。

以上、更なるご質問があればお願いします。また、ご教授下さい。
31038 Re:レポート印刷において編集対象を(リンク表)を変数設定するには? 今村 誠 2006/02/07-14:06
記事番号31037へのコメント
宮城さん横からすいません。
ルパンさん私も質問があるのですが、レポートの場合
作成方法が2通りあるのはご存じですか?
1)白紙から複合レポートをを作成と
2)一覧表や伝票や単票をウィザードに従って作成する場合です。
1)の場合リンクタブの編集対象表が変数で指定できなくて
 当然指定がないと白紙が印字されますが。
2)で作成した一覧表や伝票や単票は編集状態を継承する状態で
編集表切替を印刷したい表に変えておけば編集対象表の部分は
何が書いてあっても現在の状態で印刷します。

ルパンさんはリンク表と書いてあることから複合レポートを
作成しておられるようですが、普通の一覧表や伝票では
都合が悪いのでしょうか?
31044 Re:レポート印刷において編集対象を(リンク表)を変数設定するには? アックン 2006/02/07-17:49
記事番号31035へのコメント
ルパンさん
>  レポート印刷において、リンク表に変数を設定する方法はありません
>か?また、イベント処理上のコマンドにあるのでしょうか?
今村さんが書いているように、どちらもないようですよ。

「2005表」「2006表」等を読み込む汎用的な表(仮にA.tbl)を作成しておき、
A.tblをリンク表(T)にしてみては。
そのレポートは、「2005表」「2006表」等の複数の表に使えるよう汎用的な定義でしょ
うから、整合性が崩れることはないのでは。

アックン(=^・^=)
31053 レポート印刷のリンク表の指定 佐田 守弘 2006/02/07-22:19
記事番号31035へのコメント
ルパンさん
●リンク表
まず用語ですが、「リンク表」は現在の桐の正式な用語です。
以前の桐ではレポートに設定する対象表も、オブジェクトに設定する対象表も
いずれも「対象表」と呼んでいました。しかしいつの頃からか、レポートの
ファイル属性に設定するものを「リンク表」、オブジェクトに設定する方を
「対象表」と呼ぶ様になりました。
なお「編集対象表」は、フォームの対象表です。

●リンク表の変数での指定
リンク表も対象表もそこに記述した文字列がそのまま表ファイル名として認識
される様で、これを変数で指定する方法はないかも知れません。
しかし次の様な方法で任意の表をリンク表なり対象表に指定する事が可能です。

●リンク表/対象表として指定する表
表を開いておいた状態でレポート印刷を行うと、現在の編集対象表がレポート印刷
の対象になります。この場合、

1)複合レポートでリンク表が設定されている場合
現在の編集対象表がレポートのリンク表になります。

2)リンク表の設定がない場合
複合レポートとして作ってないレポートではオブジェクトが1つだけ自動で作られ
ます(桐ver.7までを除く)。この場合に設定するのはオブジェクトの対象表のみです。
複合レポートから作成して一覧表オブジェクトや伝票オブジェクトを1つだけ作り、
リンク表の設定を行っていない場合も同様です。
(オブジェクトを複数作ってリンク表を設定しないケースはあり得ない)
この場合には現在の編集対象表がレポートのオブジェクトの対象表になります。

●具体的な方法として
表コマンドで目的の表を開いておき、その状態でレポート印刷を行います。これで、
開いた表がリンク表なり対象表になります。

佐田守弘(KS-00119)
31054 Re:レポート印刷のリンク表の指定 ルパン 2006/02/07-23:30
記事番号31053へのコメント
宮城さん,今村さん,アックンさん,佐田さん,ご教授ありがとうございます。
佐田さんのご指摘の「リンク表の設定がない場合」で「具体的な方法として」の方法を試み
ました。
>
>表コマンドで目的の表を開いておき、その状態でレポート印刷を行います。これで、
>開いた表がリンク表なり対象表になります。
>
目的のフォーム画面上で印刷ボタンにて印刷プレビューを試みたのですが,「KU1170:フ
ァイルはすでにオープンされています」とエラーメッセージがでます。

レポート定義のリンク表タブの表ファイルを変数で扱うことは,なかなか難しいようで
すね。

他の方法も試させていただきます。ありがとうございました。

戻る