過去の桐井戸端BBS (桐ver.8)
8347 フォーム画面から一括処理に戻る際に、任意の名札に制御を移したい aki 2000/10/31-23:00
一括処理では可能でイベント処理では実行不可のコマンドが多く困っています。
 行追加、表形式編集、置換等々
フォーム画面から一括処理を実行したいのですが、現在は出来ません。

質問
フォーム画面オブジェクトでのコマンドボタン機能名に ”一括処理へ戻る”がありますが、
機能パラメータに ”何行目に戻る”又は ”名札名”へ戻る”或いは
”手続実行 名札名”等を可能にして欲しいのですが無理な要望でしょうか?

業務でv5での一括処理を多用し重宝していますが、プログラム作成に関しては初心者同然の者です。
よろしくお願い致します。

8349 Re:フォーム画面から一括処理を実行したいのですが 【多遊】 2000/10/31-23:40
記事番号8347へのコメント
>フォーム画面オブジェクトでのコマンドボタン機能名に ”一括処理へ戻る”があ
>りますが、機能パラメータに ”何行目に戻る”又は ”名札名”へ戻る”或いは
> ”手続実行 名札名”等を可能にして欲しいのですが無理な要望でしょうか?

一括処理でも途中の名札からスタートできたと思いますが、
例:一括処理実行 <CMDファイル名>【,<開始位 置名札名>】

手続き実行でも、直接名札の指定や、手続き定義開始を呼ぶことが出来ます
ヘルプ等参照下さい。

8351 Re:フォーム画面から一括処理を実行したいのですが 【多遊】 2000/10/31-23:53
記事番号8349へのコメント
>一括処理でも途中の名札からスタートできたと思いますが、

訂正。コマンドボタンには、一括処理実行は書けないようです
やはり、手続き実行ですね。失礼いたしました
8352 Re:フォーム画面から一括処理を実行したいのですが 佐田 守弘 2000/11/01-00:03
記事番号8347へのコメント
akiさん
桐でシステムを組む方法には、大きく2+1通りの方法があります。ここで言うシステムを組むとは、
「メニューを起動し、メニューから何かさせるには」という意味です。
@一括処理からフォームを開き、コマンドボタンでメニューを選んで一括に戻る方法
Aフォームを開き、フォームからイベントハンドラないしコマンドボタンで一般手続きを実行する方法
上記のどちらかが一般的な方法ですが、もう一つの方法として、
Bフォームを開き、コマンドボタンで個別の一括処理を開いて実行させる方法
もあります。

akiさんが行われている方法は、@の方法だと思います。
この方法は、桐ver.7で標準的な方法ですが、桐ver.8でも使えます。
この方法では「ウィンドウ作成」コマンドでフォームウィンドウを開き、「ウィンドウ会話」コマンドでフォーム編集を行います。
そして、「ウィンドウ会話」コマンドには、「ボタン=&btm」の様なパラメータを付けます。
このコマンドでフォーム編集中にコマンドボタンを押し、「一括処理に戻る」が実行されると、
その時に押されたコマンドボタンのオブジェクト名が指定した変数に入力されます。
ですから、この後「ケース」コマンドで&btmの値によって、どの手続きを実行させるかを分けます。

なお、Bの方法は似ている様でちょっと違う方法です。
この方法は、それぞれの処理を行う一括処理を多数作っておきます。
そして、機能名に「開く」パラメータに一括処理ファイル名を指定すれば、コマンドボタンによって一括処理が開かれます。
その一括処理が終われば、開かれたままのフォームに制御が戻るはずです。

参考までに紹介しますと、私のHPの中の桐ver.7活用ガイドの中の「桐ver.7 一括処理作成のポイント(1)」に
具体的な方法が掲載してあります。

8353 Re:フォーム画面から一括処理を実行したいのですが Ogo 2000/11/01-00:17
記事番号8347へのコメント

>質問
>フォーム画面オブジェクトでのコマンドボタン機能名に ”一括処理へ戻る”があ
>りますが、機能パラメータに ”何行目に戻る”又は ”名札名”へ戻る”或いは
> ”手続実行 名札名”等を可能にして欲しいのですが無理な要望でしょうか?

こんな制御を使ってます。

1.コマンドボタンには次のように定義します。
  機能名「開く」,パラメーター「"ほにゃらら.cmd"」

2.特定の名札を意識させるためには上記コマンドの1行前に
  機能名「なし」,パラメーター「#代入(&選択ファイル名,"ハレホレ")」
  とし、ほにゃらら.CMD の先頭付近に 条件 とか ケース とかで複数の名札に分岐させます。

- - -

応用で、既に一括処理からそのフォームを開いているなら、上記「1.」の部分に「一括処理へ戻る」を当てはめればいいですね。

8363 Re:フォーム画面から一括処理を実行したいのですが みすず 2000/11/01-18:04
記事番号8347へのコメント
ご参考までに

私も一括処理だけの機能を使いたいのですが、できるかぎりイベント処理で行いたいとおもっています。
フォームから「開く」でCMDを開くと、何かと制約が多いので(オーバーラップフォームで不可など)
私のお薦めとしては、メインとなる一括からとりあえずメインフォームを「フォーム呼び出し」で呼び出しておいて、
メインフォームには、いつもの通り、イベント処理を記述します。
(基本的にはメインの一括処理はフォームを呼び出すだけ)

で、どうしても一括処理が必要な場合だけ、「一括処理へ戻る」ボタンを配置し、一括へもどって処理すれば、
なんの制約も受けずに一括処理とイベント処理を併用できますよ。

8373 有り難うございました。書いてみます aki 2000/11/01-23:49
記事番号8347へのコメント
早速のご返答有り難うございます。
皆様の文章を3回毎読み直しておぼろげに理解出来つつあります。
@フォームから一括処理へ戻る際に変数を持って帰り、条件で変数を確認した後、名札を実行する事。
A佐田先生のHPにある”電車道の一括処理”は非常に分かり易い言葉でした。
只、フォームから直接実行した際に、オーバーラップフォーム?のエラーが出ました。
何とか理解出来そうなので@で書いてみます。有り難うございました。

戻る