過去の桐井戸端BBS (桐ver.8)
12467 フォームのコマンドボタンを押して同じ表を再度開く方法 桐坊主 2001/07/30-22:09
お世話様です。フォーム+表+(必要ならイベントも)の状態です。
フォームの対象表を、コマンドボタンで、編集破棄して再度開く方法をお願いいたします

現在、コマンドボタンに
機能名:パラメータ
閉じる:破棄する
開く:”ファイル名”
と記載してますが、閉じたままです。

妙に自分で納得もしてますが、コマンドボタンかイベントでなんとかならないでしょうか

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

12472 Re:フォームから同じ表を再度開く方法 佐田 守弘 2001/07/30-23:04
記事番号12467へのコメント
桐坊主さん
まずどの様な環境で実行されているかが不明ですが、ここではイベントを使うとの事なので、フォームから開いているとの前提で考えます。

フォームを開くと、設定されている編集表が自動的に開かれ、またそこに記載されている開始条件が実行されます。
そして、イベントが定義されていれば、イベントファイルが開かれ、メイン部分のコマンドが実行されます。

ここまでが、一連の手順で実行されます。
つまり、フォームから開かれた表は、フォームと一緒に閉じられます。
表だけを閉じる事はできません。
御質問は、表を破棄して開き直したいとの事ですが、Windows版の桐には、破棄して開き直す機能はありません。
正しく言えば、MS-DOS版の桐にもありませんでした。
あったのは、破棄終了して同じ表を開き直したり、保存終了して、開き直す機能です。
これが破棄継続や保存継続のメニューになっていただけです。

さて、以上で分かると思いますが、フォームから開いた表は、フォームと一緒に閉じるしかありません。
その閉じ方ですがは、コマンドボタンの機能名の「閉じる」を使って自分の自身を閉じます。
開き直すには、もう一度手作業で同じフォームを開く事になります。
但し、そのフォームを別のフォームで呼び出しているのであれば、
そのフォームのイベントの様な方法で自動的にもう一度開き直す方法はあるかも知れません。

佐田守弘(KS-00119)
12475 Re:フォームから同じ表を再度開く方法 桐坊主 2001/07/31-07:02
記事番号12472へのコメント
佐田さんありがとうございます。
そうです。まさに、「破棄継続」を、実行したかったのです。

中止 表 編集対象表
表 対象表.tbl・・・・・・このようなイメージを考えてました

一応メニューから対象表を開いてますが、そこまで桐にたよらず、自分で再度、開くようにします。

どうもお手数をおかけいたしました

12476 Re:フォームから同じ表を再度開く方法 bonito 2001/07/31-10:28
記事番号12475へのコメント
桐坊主さん

>現在、コマンドボタンに

>機能名:パラメータ
>閉じる:破棄する
>開く :”ファイル名”
>と記載してますが、閉じたままです。

フォームを閉じたり、桐を終了したりしたら普通は次の処理は行われませんね。
何度かここでも示唆されていますが、一般的に「開く」->「閉じる」が順序のようです。

今回の件もフォームの許可作業の「多重化」をONにしたうえで

機能名:パラメータ
開く :"この.wfm"
閉じる:廃棄する

とすれば望み通りの結果が得られる筈ですが...("この.wfm"は現在処理中のフォーム名)


12477 Re:済みません駄目でした (;_;) bonito 2001/07/31-11:07
記事番号12476へのコメント
今、確認したら駄目でした (;_;)

考えてみたら、現在の表を開き直すのだから新しいフォームも、直近のデータを引き継ぎのは当然ですね (^^;;

コマンドボタンの一番うえに「もとに戻す」を設定してみましたが、
これとて1回前に戻れるだけで、あんまり意味もないすね。

と言う訳で済みませんでした m(_ _)m

12480 Re:フォームから同じ表を再度開く方法 Ogo 2001/07/31-12:53
記事番号12467へのコメント

>フォームの対象表を、コマンドボタンで、編集破棄して再度開く方法を
>お願いいたします
>
>現在、コマンドボタンに
>機能名:パラメータ
>閉じる:破棄する
>開く:”ファイル名”
>と記載してますが、閉じたままです。

その当該作業用 wfm を開く時に、何かの(例えばメニュー用の)wfm から移ってきているのならば……

メニュー用の wfm からは当該作業用 wfm を開く時に、コマンドボタンの「開く:”ファイル名”」を使わずに、「手続き実行」を記述します。

kev 内で手続きを書くわけですが、おおよそ次のような概念になります。

手続き定義開始 カード入力()

 代入 &昭和年=0

 繰り返し 
  フォーム呼び出し "作業用 wfm"
  ケース開始
   ケース (&昭和年<1000)
    繰り返し中止
   ケース その他
  ケース終了
 繰り返し終了

 代入 &昭和年=0

手続き定義終了

で、もちろん、作業用 wfm の 「破棄継続」コマンドボタンは

機能名:パラメータ

なし :#代入(&昭和年,2000)
閉じる:破棄する

とかするわけですね。
「保存継続」なら


機能名:パラメータ

なし :#代入(&昭和年,2000)
閉じる:保存する

とすれば良い。

12487 Re:フォームから同じ表を再度開く方法 桐坊主 2001/08/01-09:27
記事番号12480へのコメント
Ogoさんご指導ありがとうございます。
いろいろなお話が伺えて大変勉強になります。


>kev 内で手続きを書くわけですが、おおよそ次のような概念に
>なります。
>
>手続き定義開始 カード入力()
>
> 代入 &昭和年=0
>
> 繰り返し 
>  フォーム呼び出し "作業用 wfm"
>  ケース開始
>   ケース (&昭和年<1000)
>    繰り返し中止
>   ケース その他
>  ケース終了
> 繰り返し終了
>
> 代入 &昭和年=0
>
こんなことが出来るなんて思ってもいませんでした。
さっそく利用させていただきます。


戻る