過去の桐井戸端BBS (桐ver.9)
26021 フォーム上で印刷条件を選択してレポートを印刷させたい 手塚 修 2004/04/22-17:43
当方が作った(まねして作った)桐でのデータ入力はできるが、
桐については全く知らない人に、カード型フォーム上に配置した印刷条件を選択させ、印刷させたい。

レポート名選択 車両台帳一覧表、車両台帳個別、定期点検予定表(編集対照表は
        車両台帳)、走行距離記入表、入力確認表(編集対照表は走行距
        離入力)、事故報告書(編集対照表は事故報告書)、他
絞り込み条件選択  配備先、年、年度、車両番号、他
並べ替え条件選択  購入日順、車検日順、年月降順、他

カード型フォーム上にトグルボタンを配置し、クリックをすると&レポート名、
&絞り込み条件、&並べ替え条件に変数として入力させています。

カードに配置したコマンドボタン(印刷実行)にイベントを作りたいのですが、
  手続き定義開始 コマンドボタン_30::マウス左クリック(   )
    表 車両台帳
    並べ替え 索引名=&並べ替え条件
    絞り込み 条件名=&絞り込み条件
    レポート印刷 &レポート名,編集表=する,会話=する
  手続き定義終了
上記の 表 車両台帳 を変数で表示する方法を教えてください。
レポートから編集対象表の名前を抽出するような方法はありませんでしょうか?

編集表名選択のトグルボタンを配置し選択させ、変数に代入させる方法は、
レポート名とかけ離れた表の名前があるためにとりたくない。

参考になるサンプルはありませんでしょうか?
もっと良い考え方を教えてください。

よろしくお願いいたします。

     
26022 Re:印刷条件を選択し印刷させたいが? 悲しげ 2004/04/22-18:58
記事番号26021へのコメント
一例です。

当該コマンドボタンの機能と同パラメタリストは
  手続き実行  各種印刷
としておく。

で、kevの記述は
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
手続き定義開始 各種印刷()
 変数宣言 自動,長整数{&menu2} \
     ,自動,文字列{&TBL,&並替条件名,&絞込条件名,&RPT}
 メニュー2 \
  &menu2,1,(10,10) \
  ,"[Esc]で中止" \
  ,"車両台帳一覧表,車両台帳個別,定期点検予定表,・・・,事故報告書"
 *----↑あまり多いようであれば「メニュー3」コマンドを使う?
 if(&menu2>0)
  &TBL=#条件選択(1=<&menu2 .and &menu2=<3,"車両台帳.tbl" \
         ,4=<&menu2 .and &menu2=<5,"走行距離入力.tbl" \
         ,&menu2=6,"事故報告.tbl",・・・)
  &並替条件名=#条件選択(&menu2=1,"なんと順",&menu2=2,"かんと順",・・・)
  &絞込条件名=#条件選択(&menu2=1,"へろへろ",&menu2=2,"へなへな",・・・)
  &RPT=#条件選択(&menu2=1,"車両某.rpt",&menu2=2,"定期某.rpt",・・・)
  表 &TBL
  並べ替え 条件名=&並替条件名
  絞り込み 条件名=&絞込条件名
  レポート印刷 &RPT,編集表=する,会話=する
  終了 表 編集対象表
 end
手続き定義終了
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

TBL,並替条件名,絞込条件名,RPTの組合せを自由に選ばせると、
もしかして矛盾が生じることはありませんか?

26024 Re:印刷条件を選択し印刷させたいが? 宮城 2004/04/23-08:25
記事番号26022へのコメント
>TBL,並替条件名,絞込条件名,RPTの組合せを自由に選ばせると、もしかして
>矛盾が生じることはありませんか?

悲しげさん、私も同感です。
というか、そもそも表だけが違うレポートってそんなにあるのですか。
たとえそうだとしてもユーザーが桐に詳しくないのなら、たとえば10表を切り替えないといけないのであれば、
普通は10ボタンを作ってしまうんじゃないでしょうか。

手塚 修さん、レポート自身で「表」「並べ替え条件」「絞込条件」「単一化条件」指定できるのですが、
あえて会話処理させたい狙いはなんですか?

26031 Re:印刷条件を選択し印刷させたいが? 手塚 修 2004/04/23-17:14
記事番号26022へのコメント
悲しげさん 宮城さん お世話になります。

各種条件を設定したレポートをいくつも作るのは非効率ではないか?
桐を知らない人に定義画面から条件設定をし、印刷させるのは?との考えからです。
よく説明できないので圧縮ファイルをアップさせていただきました。

考え方がまずいのかもしれません。

よろしくお願いいたします。
26035 Re:補完BBSの#102 悲しげ 2004/04/23-23:23
記事番号26031へのコメント
補完BBSを見ましたが・・・・

>よく説明できないので圧縮ファイルを送付させていただきます。

説明抜きでファイルだけ有っても、やはり判らないだけのことです。(^^;)
ファイル+詳しい説明とすべきだと思います。
もし本当に説明できないのならば、迷宮入りとなるしかありませんが、
でも、説明はできるんじゃないですか?

26043 Re:補完BBSの#102 手塚 修 2004/04/24-12:44
記事番号26035へのコメント
悲しげさん  すみませんがもうすこしお付き合いください。

当方では28台の車両を保持しており、2ヶ所に配備しています。役所向けの車両と民間顧客向けの車両があり、
管理者がそれぞれ1名、全体を管理するもの1名合計3名が管理にあたっています。
3名はデータの入力訂正まではできます。
但し、レポートの定義画面を開き表の操作で並べ替えや絞り込みの操作はさせていません。
彼らがフォーム上に配置した条件を選択して、印刷をしたい。これが主旨です。

役所担当のものは、役所向けの車両を選択し、車検日順に並べ替えた表を
印刷保持し車検の予定を立てておく。
民間担当者は、民間顧客向けの車両に対しての予定を立てる。
総括担当者は、全車の予定を印刷保持、車検の漏れを監視。総括担当者は、
購入日順に並び替えて印刷した表や登録年月順に並べ替え印刷した表を基に車両の入れ替え
(廃車にしたり購入したり)を検討する。同じ一覧表形式レポート。
民間顧客Aには、A専用車両のデータを提出する。レポートは、カード型。

上記は、すべて表 車両台帳です。

各条件を記した7個のコマンドボタンを配置するフォーム、カード型レポート、
一覧表形式レポートの3種をつくり印刷させる。これが一般的なのでしょうか?
車両台帳を使った関連の表が5つあり、その上に絞り込み、並べ替え条件を設定すると
数十の印刷用コマンドボタンが必要になってしまうのではないでしょうか。
当方が望んでいるのは、条件選択フォーム、カード型レポート、一覧表形式レポートの3種をつくり、
条件を選択させ印刷させる方法です。
考え方に問題があるのでしょうか?
説明はわかるでしょうか?
皆さんはどのような方法を取っているのでしょうか?

よろしくお願いいたします。


26047 Re:補完BBSの#102 悲しげ 2004/04/24-18:07
記事番号26043へのコメント
何だか「担当者」なる要素もさらに加わって来たようですが(^^;)、
まず最初に行うべき作業は、

 担当者(?),表,絞り込み条件,並べ替え条件,印刷レポート

について、あり得る組合せの全てをリストアップすることです。
(逆に云えば、あり得ない組合せは排除しておく)

例示すれば

担当  表    絞り込み条件 並べ替え条件 印刷rpt名
A  某1.tbl  条件あ    条件い    某う.rpt(一覧表)
A  某1.tbl  条件え   (しない)   某お.rpt(カード)
A  某2.tbl  条件か    条件き    某く.rpt(一覧表)
・・・・・・・・
B  某1.tbl  条件さ   (しない)   某し.rpt(一覧表)
B  某3.tbl  条件す    条件せ    某そ.rpt(カード)
・・・・・・・・
B  某1.tbl  条件た    条件ち    某つ.rpt(一覧表)
B  某2.tbl  条件か    条件き    某と.rpt(一覧表)
・・・・・・・・

のような感じです。

で、あとはこれをどう指定させるか、と云うことになろうかと思います。
そのやり方としては、一発で「数十の印刷用コマンドボタン」を配置する
方法もあるでしょうし(^^;)、あるいは沢山のトグルボタンを画面に出して
何らかの制限をかけて指定させる方法もあるでしょう。
「何らかの制限」とは(入力済の値いかんで)画面表示のオン・オフとかフォーカスの
禁止とかをイメージしています。

あるいは、一発で指定させずに、階層性を持たせると云うか、
ひとつづつサブメニューを呼び出して指定するような方法もあります。
組合せが沢山あるようなら、私としては、こちらの方が好みです。例えば、
1)[担当]をトグルでAと指定して、「印刷」ボタンをクリックすれば
2)対象表指定フォームをフォーム呼び出し(またはモーダルフォーム)
するのだが、その際、[tbl]としては某1.tblと某2.tblだけに絞り込んでおく(つまり担当Aが扱う表に限定する)。
そしてフォーム終了時に、変数&TBLに表ファイル名を代入しておく。
3)絞り込み条件名指定フォームをフォーム呼び出し(以下同上)。
4)並べ替え条件名指定フォームをフォーム呼び出し(以下同上)。
5)印刷レポート名指定フォームをフォーム呼び出し(以下同上)。
なお、3)と4)では条件名「なし」の場合に変数にヌルを代入してみる。

以上を受けて、例えばメッセージボックスで、

 メッセージボックス ・・・・
 "表 "+&TBL+#条件選択(&絞条件名<>"","\n絞り込み名 "+&絞条件名)
 +#条件選択(&並条件名<>"","\n並べ替え名 "+&並条件名)
 +"\n印刷レポート "+&RPT+"\n\n 印刷します",アイコン=・・・・
 ,制御文字展開=する,・・・

で確認して、よければ印刷実行させる。

 表 &TBL
 条件(&並条件名) 並べ替え 条件名=&並条件名
 条件(&絞条件名) 絞り込み 条件名=&絞条件名
 レポート印刷 &RPT,・・・編集表=する・・・・・
 終了 表 編集対象表

カードrptで印刷させる場合は、書かれてませんが、もしかしたら1行だけを絞り込んで
印刷させるのかもしれませんが(とすれば組み立て方も微変更する必要があるそうですが)、
いずれにせよ冒頭の作業(あり得る組合せの全てをリストアップ)が大前提です。

26050 補足 悲しげ 2004/04/24-22:05
記事番号26047へのコメント
>(逆に云えば、あり得ない組合せは排除しておく)

何故かと云うと、「データの入力訂正まで」しかできないような3名に任意に組合せを選ばせると、
うっかりあり得ない組合せを選んでしまってエラーになったら、却って途方に暮れるだろうからです。


26059 Re:補完BBSの#102 宮城 2004/04/25-17:18
記事番号26043へのコメント
手塚 修さん、すみませんが、私の場合は開けなかったもので。

戻る