過去の桐井戸端BBS (桐ver.8)
11809 一括処理でフォームを開いた場合、コマンドボタンで機能しないものがある 小松亀一 2001/06/22-06:43
仙台の小松と申します。

顧客簿と事件簿で事件管理をしております。

佐田システムを参考に顧客検索フォームを作り、事件簿フォームに顧客検索というコマンドボタンを貼り付け、
イベントによるフォーム呼び出しコマンドで、顧客検索フォームを呼び出して使用しております。

この顧客検索フォーム上に
機能名「表編集へ」、「フォームの選択」、「絞り込み解除」、「ジャンプ」、「閉じる」等のコマンドボタンを貼り付けています。

最初からこの検索フォーム自体を立ち上げる場合は、コマンドボタンに貼り付けたコマンドは全て正常に機能します。

ところが一括処理で事件簿を開き、事件簿フォーム編集で、顧客検索というコマンドボタンから
一般手続き実行のイベントのフォーム呼び出しコマンドで呼び出して使用する場合、
上記のコマンドボタンの内「表編集へ」、「フォームの選択」、「絞り込み解除」が機能しなくなります。

顧客検索フォームのオブジェクトの属性→コマンドボタンタブ→一括処理で実行する
をチェックしてもしなくても結論は変わりません。

一括処理上でも上記2つのコマンドボタンを機能させる方法をご教示頂ければ幸いです。

11810 Re:コマンドボタンの使用制約? 今村 誠 2001/06/22-08:42
記事番号11809へのコメント
小松亀一さんこんにちは。
>佐田システムを参考に顧客検索フォームを作り、事件簿フォームに顧客
>検索というコマンドボタンを貼り付け、イベントによるフォーム呼び出
>しコマンドで、顧客検索フォームを呼び出して使用しております。
>
>この顧客検索フォーム上に
>機能名「表編集へ」、「フォームの選択」、「絞り込み解除」、
>「ジャンプ」、「閉じる」
>等のコマンドボタンを貼り付けています。
>ところが一括処理で事件簿を開き、事件簿フォーム編集で、顧客検索と

この一括処理は、cmdからでしょうか。

>いうコマンドボタンから一般手続き実行のイベントのフォーム呼び出し
>コマンドで呼び出して使用する場合、上記のコマンドボタンの内
>「表編集へ」、「フォームの選択」、「絞り込み解除」
>が機能しなくなります。
>一括処理上でも上記2つのコマンドボタンを機能させる方法をご教示頂
>ければ幸いです。

表編集へは、モーダルフォームやフォーム呼び出しからは使用できません。
開く 或いは、ウィンド作成でないと使用できないと思います。
一括から、事件簿フォームをウィンド作成してフォーム形式編集されている場合、
開く で顧客簿を開くと表編集はできますが、モーダレスですので
結果の受け渡しは例えば、最小化という名前のコマンド牡丹を作って、
渡したい変数を顧客簿フォームで取り込む牡丹を作る必要があると思います。

顧客簿を閉じると、事件簿も閉じるので、表編集中は注意が必要だと思います。

フォームの選択も、現在の編集行の、顧客名や顧客コードを記憶しておいて
一度、事件簿フォームに戻り、呼び出したいフォームの牡丹を作成するか、
必ずカード形式になる場合は、空いてるリストに再度フォーム呼び出しを付け足すと良いと思います。

また、名前とふりがなが一覧表で、他の項目をカードにしたい場合、一つの表で
メイン&サブフォームできますので、そのようなフォームを作成して、
顧客を検索すれば、顧客の訂正もできると思います。

以上はcmdからの一括ですので、フォームを起点とする場合の動作は、
検証していません。
また専有でのことですので、共有での動作は定かではありません。
参考になればと思ってコメントしました。

11826 Re:コマンドボタンの使用制約? 小松亀一 2001/06/22-22:32
記事番号11810へのコメント
今村 誠さん,早速のレス有り難うございました。

>この一括処理は、cmdからでしょうか。
cmdからです。

>表編集へは、モーダルフォームやフォーム呼び出しからは使用できません。
>開く 或いは、ウィンド作成でないと使用できないと思います。
済みません。
モーダルフォームは言葉は聞いていましたが、如何なるものかは知らず、
マニュアルを見て入力支援ボタンのリストの種別から開くフォームを
モーダルフォームと言うことを初めて知りました。
いつものことながらこのBBSに投稿すると自己の不勉強を痛感させられます。

モーダルフォーム或いはフォーム呼び出しで呼び出したフォームは機能が制限付きとなり、
それ故「表編集へ」、「フォームの選択」、「絞り込み解除」の機能も使えないと言うことですね。

>フォームの選択も、現在の編集行の、顧客名や顧客コードを記憶しておいて
>一度、事件簿フォームに戻り、呼び出したいフォームの牡丹を作成するか、
>必ずカード形式になる場合は、空いてるリストに再度フォーム呼び出しを
>付け足すと良いと思います。
なるほど。参考になります。

>また、名前とふりがなが一覧表で、他の項目をカードにしたい場合、一つの表
>でメイン&サブフォームできますので、そのようなフォームを作成して、
>顧客を検索すれば、顧客の訂正もできると思います。
サブフォームはまだ作ったことが無く、これを機会に挑戦してみようかと思います。

>以上はcmdからの一括ですので、フォームを起点とする場合の動作は、
>検証していません。
>また専有でのことですので、共有での動作は定かではありません。
>参考になればと思ってコメントしました。
お陰様にて大変参考になりました。
ご教示を参考に色々試行錯誤を繰り返してみます。

有り難うございました。


11829 コマンドボタンの使用制約/モーダルフォーム 佐田 守弘 2001/06/23-17:32
記事番号11826へのコメント
小松亀一先生
●モーダルフォームとは
桐に限らない話ですが、Windows環境では様々なダイアログが出て来ます。
これらのダイアログの中には、そのダイアログでの設定などを終えて閉じない限り、
直前に開いているダイアログに切り換える事ができない設定になっているものがあります。

この様な「それを終了しない限り元に戻れない/他に切り換えられない」機能を「モーダルである」と言います。
桐のフォームにもモーダルで開かれるフォームがあります。
その代表的な例が、フォーム呼出しコマンドで呼び出されるフォームです。

因みに、そのフォームがモーダルであるかどうかは、定義によって決まるものではなく、呼び出し方によって決まります。

以前にどこかのツリーでも述べた事がありますが、一括処理主体で作る場合と、
フォームから開いてイベントで作る場合の違いの1つに、開いたフォームがモーダルになるかどうかがあります。

一括処理でウインドウ作成コマンドで作成したフォームウインドウはモーダルではありません。
コマンドで多数のフォームを開いておき、一括処理の中でアクティブとするウインドウを切り換えるといった事も可能です。

一方、フォームから開いてフォーム呼出しで新しいフォームを呼び出した時には、モーダルフォームになります。
モーダルフォームを開いた時には、そこからまた新しいフォームを開く事はできますが、
現在開かれているモーダルフォームをそのまま開いた状態にして、以前のフォームに戻る事はできません。

つまり、モーダルフォームで次々とフォームを開く場合には、「行った道をたどって元に戻る」といった
プログラムの流れになります。
従って、Aの表を編集しながらBも編集し、適宜それを切り換えて処理をしたいといった使い方はできません。

このあたりは、プログラムの流れの作り方とも関係する部分です。
あるいは小松先生の場合、今まで桐ver.7方式の一括処理型で作っていた関係上、
新しい桐ver.8型のイベント方式との混在があり、この部分で混同が生じているかとも思われます。

慣れてしまえば、フォーム呼出し一辺倒でもそれ程不便な事はないはずです。

佐田守弘(KS-00119)
11833 Re:コマンドボタンの使用制約/モーダルフォーム 小松亀一 2001/06/23-20:46
記事番号11829へのコメント
佐田先生、おばんです。
ご丁寧な解説を頂き有り難うございます。

>●モーダルフォームとは
>桐に限らない話ですが、Windows環境では様々なダイアログが出て来ます。
>この様な「それを終了しない限り元に戻れない/他に切り換えられない」
>機能を「モーダルである」と言います。
恥ずかしい話しですが、モーダルフォームと言う言葉の意味は、このツリーでの質問を上げるまでは、全く知りませんでした。

過去のBBSで「モーダル」を引くと18件も出てきました。
何件か目を通しましたが、私と同じような質問が既に過去BBSで論じられていたんですね。
お陰様にて大変勉強になりました。

>つまり、モーダルフォームで次々とフォームを開く場合には、「行った
>道をたどって元に戻る」といったプログラムの流れになります。
>従って、Aの表を編集しながらBも編集し、適宜それを切り換えて処理
>をしたいといった使い方はできません。
先生のこのご解説と過去のBBS記事を参考にもう少し勉強して、その上で再度質問させて頂きます。

有り難うございました。

戻る