過去の桐井戸端BBS (桐ver.9)
26664 2つのフォームを使用したら行退避したものを行復旧することができなくなる たぎゃ 2004/06/11-10:50
またまた、お世話になります。
桐9−2004を使用しています。

AとBの2つのフォームがあります。
Aフォームのボタン「cmd詳細」
 「機能名」=フォームを開く
 「機能パラメータリスト」=Bフォーム
Bフォームのボタン「cmd戻る」
 「機能名」=フォームを開く
 「機能パラメータリスト」=Aフォーム
ということをしています。

Aフォームで修正前に「行退避」をしてあります。

Aフォームでデータを修正し、Bフォームに切り替え、
Bフォームで修正を加え、Aフォームに戻った後、
ボタン「cmdリセット」を押したときに「行退避」した
データを「行復旧」で戻したいのですが、
「コマンド実行順序に誤りがあります」
というエラーメッセージが表示されてしまいます。

Aフォームだけで、Bフォームに切り替えなければ問題なく動くのですが。
フォームを切り替えると、「行退避」した処理は無効になってしまうのでしょうか?
どのようにしたら、解決できるでしょうか?

Aフォームだけでは、全項目を表示しきれないので、
たまに使う項目は、Bフォームに表示しています。

どなたかお知恵を貸してください。
お願いいたします。

26665 Re:2つのフォームを使用した行退避/行復旧 今村 誠 2004/06/11-12:03
記事番号26664へのコメント
たぎゃさんこんにちは

>Aフォームだけでは、全項目を表示しきれないので、
>たまに使う項目は、Bフォームに表示しています。

フォームの形式がわからないので無理かもしれませんが、
オブジェクト操作で非表示の項目を表示し表示の項目を表示しないに
切り替えると表が閉じないので行復旧が使えると思います。
「フォームの選択」や「開く閉じる」より、変数の受け渡しや
フォームの使用数が減って便利良いと思います。
26667 Re:2つのフォームを使用した行退避/行復旧 たぎゃ 2004/06/11-14:20
記事番号26665へのコメント
今村さん、アドバイスありがとうございます。


>>Aフォームだけでは、全項目を表示しきれないので、
>>たまに使う項目は、Bフォームに表示しています。
>
>フォームの形式がわからないので無理かもしれませんが、
>オブジェクト操作で非表示の項目を表示し表示の項目を表示しない
>に切り替えると表が閉じないので行復旧が使えると思います。
>「フォームの選択」や「開く閉じる」より、変数の受け渡しや
>フォームの使用数が減って便利良いと思います。


Aフォームの空いているスペースにテキストボックスを
追加するのはスペース的に難しいので、「ファミリ」を利用して、

1.現在定義済みのテキストボックスを1つのファミリにする
2.Aフォームにもう1つファミリを追加して、Bフォームに
  定義してあるテキストボックスの項目を、このファミリに定義する
3.ファミリごとに表示/非表示を切り替えるようにして、Bフォームは使用しない

ということを、いただいたアドバイスから考えたのですが、
このような考え方で合っていますでしょうか?

26668 Re:2つのフォームを使用した行退避/行復旧 今村 誠 2004/06/11-14:39
記事番号26667へのコメント
たぎゃさんこんにちは
>1.現在定義済みのテキストボックスを1つのファミリにする

>2.Aフォームにもう1つファミリを追加して、Bフォームに
>  定義してあるテキストボックスの項目を、このファミリに
>  定義する

>3.ファミリごとに表示/非表示を切り替えるようにして、
>  Bフォームは使用しない

3が私の提案したことです。
ファミリーは使用しません(^o^)

両方のフォームが同じ形式ならこの方法が一番良いと思います。
フォームの形式をお書きになられるともっと良いアドバイスが得られると思います
26675 Re:2つのフォームを使用した行退避/行復旧 たぎゃ 2004/06/11-18:58
記事番号26668へのコメント
今村さん、ありがとうございます。

>>1.現在定義済みのテキストボックスを1つのファミリにする
>
>>2.Aフォームにもう1つファミリを追加して、Bフォームに
>>  定義してあるテキストボックスの項目を、このファミリに
>>  定義する
>
>>3.ファミリごとに表示/非表示を切り替えるようにして、
>>  Bフォームは使用しない
>
>3が私の提案したことです。
>ファミリーは使用しません(^o^)
>
>両方のフォームが同じ形式ならこの方法が一番良いと思います。
>フォームの形式をお書きになられるともっと良いアドバイスが
>得られると思います


両方ともカード形式のフォームです。
Aフォームだけで48項目あります。
Bフォームは、16項目あります。

1〜3のどれか、ではなくて、こういう流れかなぁ?
と思ったのですが、続きは、来週からがんばってみます。


26676 Re:2つのフォームを使用した行退避/行復旧 今村 誠 2004/06/11-20:08
記事番号26675へのコメント
たぎゃさんこんにちは、
>両方ともカード形式のフォームです。
>Aフォームだけで48項目あります。
>Bフォームは、16項目あります。
カードだと言うことなので、御参考になるかは解りませんが
私ならこうするという方法を述べてみます。

1:メインで使うフォーム(便宜的にaとします)に存在して
  サブで使うフォーム(こちらをbとします)にも存在する
  オブジェクト名を統一しておく
2:aフォームのワークスペースに「cリスト」のコマンドボタンを
  コピーして貼り付けて保存する。
3:「画面表示する」の状態のaフォームのオブジェクトのリストを
  フォーム編集で書き出す。
4:aフォームを再定義画面で「編集(E)」→「全て選択」
  オブジェクトの属性の表示タブで「画面表示しない」を選び
  保存する
5:フォーム編集でこの状態のリストを書き出す。
6:同様にbフォームも「画面表示する」と「表示しない」のリストを書き出す。
7:全部のリストができあがったら、できあがったテキストの1行目に
  オブジェクト操作□と書き足すと「画面表示する」と「しない」が手続きで切り替えできる。
8:表示切り替えようのコマンドボタンを作成し切り替える

リンク先ホームページのサンプル1番のテスト.wfmに「cリスト」が
手続きは「Libraly.cmd」の最終行付近にあります。
表示切り替えコマンドボタンはテスト本番.wfmの「解説画面に変更」を参考にしてみてはいかがでしょうか。
26690 Re:2つのフォームを使用した行退避/行復旧 たぎゃ 2004/06/14-15:30
記事番号26676へのコメント
今村さん、ありがとうございます。


>1:メインで使うフォーム(便宜的にaとします)に存在して
>  サブで使うフォーム(こちらをbとします)にも存在する
>  オブジェクト名を統一しておく
>2:aフォームのワークスペースに「cリスト」のコマンドボタンを
>  コピーして貼り付けて保存する。
>3:「画面表示する」の状態のaフォームのオブジェクトのリストを
>  フォーム編集で書き出す。
>4:aフォームを再定義画面で「編集(E)」→「全て選択」
>  オブジェクトの属性の表示タブで「画面表示しない」を選び
>  保存する
>5:フォーム編集でこの状態のリストを書き出す。
>6:同様にbフォームも「画面表示する」と「表示しない」のリスト
>  を書き出す。
>7:全部のリストができあがったら、できあがったテキストの1行目に
>  オブジェクト操作□と書き足すと「画面表示する」と「しない」
>  が手続きで切り替えできる。
>8:表示切り替えようのコマンドボタンを作成し切り替える

ところで、「オブジェクトのリストをフォーム編集で書き出す」とは
どういう作業ですか?
よく分からないので、教えてください。


>リンク先ホームページのサンプル1番のテスト.wfmに「cリスト」が
>手続きは「Libraly.cmd」の最終行付近にあります。
>表示切り替えコマンドボタンはテスト本番.wfmの「解説画面に変更」
>を参考にしてみてはいかがでしょうか。

ファイルをダウンロードしてみました。
私の拙い知識で理解できるかどうか疑問ですが、もう少し、
時間をかけて見てみて、理解できるようにがんばってみます。

毎度のことながら、こちらのBBSに質問すると、他の仕事にかかりっきりになってしまい、
すぐにお返事できなくなってしまうので、回答していただいた方には、申し訳なく思います。
この件も、もう少し後でないと、取り掛かれなくなってしまいました。

というわけで、どうしても分からないときは、改めて質問させていただこうと思います。
そのときは、またよろしくお願いいたします。
ありがとうございました。

26697 Re:2つのフォームを使用した行退避/行復旧 今村 誠 2004/06/15-02:14
記事番号26690へのコメント
たぎゃさんこんにちは、
>ところで、「オブジェクトのリストをフォーム編集で書き出す」とは
>どういう作業ですか?
>よく分からないので、教えてください。

サンプル「テスト.wfm」をファイルパレットから開いて×で終了すると見本”テストwfm.txt”が出来ます。
 たぎゃさん自作のフォームで「テスト.wfm」と同様にオプションタブの終了時実行ボタンに「cりすと」を指定します。

 2つのフォームのオブジェクトを合体させて、表示を切り替えたらよいと思います。

引用は必要最小限にお願い致します。

戻る