過去の桐井戸端BBS (桐ver.8)
21533 サブフォームの編集対象表を閉じたい Mao 2003/07/23-09:50
 久しぶりの投稿です。ご教授願います。

○桐環境 V8sp6
○状況
  サブフォーム:伝票形式(販売データ.tbl)
input.wfm
input.kev
  メインフォーム:カード形式(メニュー用につき編集対象表設定せず)
main.wfm
main.kev
○実現したいこと
  メインフォームの入力コマンド左クリックでメインフォームの中にサブフォームを表示、編集
  サブフォームを終了時にメインフォームのコマンドボタンを表示する
○やってみたこと
  メインフォームの設定
   ・コマンドボタンを配置
   ・コマンドボタンが隠れるようにサブフォームを配置
     定義:画面表示しない、サブフォーム名設定しない
  イベント処理
   コマンドボタン(main.kev)
    オブジェクト操作 @サブフォーム_6.サブフォーム = "input.wfm"
    オブジェクト操作 @サブフォーム_6.画面表示 = 1
   サブフォーム(input.kev)
オブジェクト操作 ハンドル= &hwindow @サブフォーム_6.サブフォーム = ""
オブジェクト操作 ハンドル= &hwindow @サブフォーム_6.画面表示 = 0
○結果
  見かけ上は、OK
  だが、編集対象表として「販売データ.tbl」が使用中で次の処理が出来ない。

今まで別々にフォームを開くようにして作成していましたが、
メニュー画面に填め込んだ方がスッキリするし、
ウィンドウが1つの方が移動させやすく他の作業と平行して出来ると思い作り始めた次第です。
よろしくお願いします。
21549 Re:サブフォームの編集対象表を閉じたい 尾形 2003/07/23-18:27
記事番号21533へのコメント
どうも、こんにちは

>○結果
>  見かけ上は、OK
>  だが、編集対象表として「販売データ.tbl」が使用中で次の処理が出来ない。
「サブフォーム表を閉じる」ことで次の処理を可能にするより
「サブフォーム表は開いたまま」でも次の処理でエラーが起きずに
処理可能にしたほうがいいのでは?

21553 Re:サブフォームの編集対象表を閉じたい 悲しげ 2003/07/23-19:00
記事番号21549へのコメント
尾形さんwrote

>「サブフォーム表を閉じる」ことで次の処理を可能にするより
>「サブフォーム表は開いたまま」でも次の処理でエラーが起きずに
>処理可能にしたほうがいいのでは?

私もそう思います。
むしろサブフォームの編集対象表を閉じようとするのは、ひょっとすると徒労なのではないかとすら思います(私は)。
とすれば、例えば「多重化」をうまく使うとか、あるいはやっぱり
「別々なフォーム」の方式に戻すとか。
21555 Re:サブフォームの編集対象表を閉じたい 佐田 守弘 2003/07/23-19:28
記事番号21533へのコメント
Maoさん
用語も含めて多少の混乱がある様なので、整理させて頂きながらコメントします。
●メインフォームとサブフォーム
ここで言いたいメインフォームとサブフォームは、桐の用語であるメイン&サブフォームのメインフォームと
サブフォームの意味ではなさそうですね。以下の様に解釈しますが、いかがでしょうか。
・メインフォーム:処理メニューを表示し、選択させるための対象表の内フォーム
・サブフォーム:上記のメニューからある処理を選んだときに表示される対象表があるフォーム

さてMaoさんの「サブフォーム」は、メイン/サブフォーム形式のサブフォームとして作られている様ですね。
もちろんこの形でも構いませんが、メイン/サブフォーム形式にして、サブフォームの表示/非表示切り替えを行うよりも、
単純にフォーム呼び出しでサブフォームに相当するフォームを呼び出した方が簡単です。
その理由を述べます。

●メイン/サブフォーム形式のサブフォームの対象表
フォームは開いたときに、設定されている編集対象表が自動的に開かれます。
これは、仮にそのサブフォームが非表示であっても、またフォームの外側のワークスペースにあっても同様です。
メイン&サブフォームの場合には、メインフォームを開けば、サブフォームが自動的に開かれるので、
サブフォームに設定されている編集対象表も自動的に開かれます。

そして開かれた編集対象表は、フォームを開いている限り開かれ続け、対象表だけを閉じる事はできません。
(子が親を選び直す事ができないのと同じ様なものだと思って下さい)
ですから質問の主旨である「編集対象表を閉じるには?」に対しては、「不可能です。」が答えです。

●メニューフォームからフォーム呼び出しで開く
行われているような処理は、一般にこの方法で行います。サブフォームと書いているフォームを、
フォーム呼び出しで開く方法であれば、そのフォームを閉じれば編集対象表も自動的に閉じられます。

佐田守弘(KS-00119)
21565 う〜ん。残念 Mao 2003/07/24-09:20
記事番号21533へのコメント
おはようございます。

皆さん有難うございます。
朝から雨で、スッキリしない頭で読まさせていただきました。

佐田さん、舌足らずの説明で申し訳ございません。
私のやろうとしたことは、佐田さんの「メインフォームとサブフォーム」に書かれているとおりです。


私も今までは、フォーム呼び出し等で別々にフォームを表示させる方法で作成していましたが、
センスがないためか、見た目が素人丸出しのような完成になっていまして、先日、ふと今回のように
「一つのフォームに入れてしまえば見栄えがするのでは」と思い、スキルアップのためにもと作り始めた次第です。

フォーム呼び出しの方法、表を開いたままで処理する方法で考えてみます。

戻る