過去の桐井戸端BBS (桐ver.8)
3635 伝票フォームでコマンドボタンを押すとカード型フォームで行追加としたい yuu 1999/12/6-17:15
いつも大変参考にさせていただいております。
桐v8でフォームの入力処理をしているのですが、
画面1(伝票フォーム)で、新規入力のコマンドボタンを押すと
画面2(カード型フォーム)に変わり、行追加モードになるように
するには、どうしたらよいでしょうか。
今は、画面1の新規入力のコマンドボタンに、
フォームの選択をし画面2を指定しているだけです。

以上よろしくお願い致します。
3645 Re: 佐田 守弘 1999/12/7-00:28
記事番号3635へのコメント
yuuさん
考え方としては、フォームを切り換えることになると思います。その方法です
が、いくつかの方法が考えられます。
中でも最もオーソドックスな方法が、コマンドボタンにイベントを設定し、フ
ォーム呼出しコマンドを使って、モーダルフォーム形式のカード型フォームを
呼び出すのが良いのではないかと思います。

佐田守弘(KS-00119)

3646 Re: 佐田 守弘 1999/12/7-00:43
記事番号3645へのコメント
行追加モードに変更する部分を忘れておりました。この部分は、メソッド呼び出
しコマンドを使います。
メソッド呼び出し @フォーム,更新モード設定(6)

参考までに括弧の中の数字と設定モードとの関係は次の通りです。
0:表示モード
2:行訂正モード
4:行挿入モード
6:行追加モード

佐田守弘(KS-00119)

3648 コマンドボタンにイベント yuu 1999/12/7-09:53
記事番号3646へのコメント
> メソッド呼び出し @フォーム,更新モード設定(6)
画面1のコマンドボタン(新規入力)にイベントを設定するには
どうすればいいのでしょうか?

よろしくご指導ください。

3654 行追加を別フォームで 悲しげ 1999/12/7-12:07
記事番号3648へのコメント
どもっ、yuuさん、
既に佐田さんからコメントがついていますが、要するに、一覧表
(または伝票)フォーム(仮称a.wfm)において、ある牡丹をクリ
ックすることで、行追加・訂正モードとして、カード型フォーム
(仮称b.wfm)で入力したい、と云うことですね。で、単なる牡丹
の機能だけではなくkevを使ってもよい、と。

1)まず、a.wfmの属性で、「編集対象表」タブの「許可作業」牡丹
から「多重化」にチェックを入れておく。「イベント」タブでイベ
ントファイル名も仮称a(.kev)としておく。
2)牡丹の属性「イベント」タブで「マウス左クリック」をチェ
ック→ダブルクリックして、a.kevの当該イベントの記述に入る。
3)a.kevのマウス左クリックイベント手続きは、大体次のような感
じかな。
 編集対象表 "なんとか.tbl"
 行追加 [なんとか]=""  /*何か必要な項目値を入れてもよい*/
 ジャンプ 行番号=最終
 フォーム呼び出し "b.wfm",……,編集表=する,…
4)次、b.wfmのb.kevの記述についてですが、この場合は、既に行
追加済みで表示モードになっているはずですから、更新モードの設
定は「訂正」の方を使います。つまり、6ではなくて2です。
 メソッド呼び出し @フォーム,更新モード設定(2)
ところで、はて? このメソッドはb.wfmのどのイベントで使えばい
いのやら? sp3では「フォーム開始」イベントで使えるようになっ
たのかしら?(sp2以前では、フォームウィンドウオープン直後の状
態として「タイマー」イベントを苦しく使っていたりしましたが)
と云う訳で、この辺は未確認なので(^^;)、キー操作がひとつ増えて
しまいますが、b.wfmがオープンした時点で、[f・2]で訂正モードに
入って、[f・4]で確定([Esc]で中止)と云うことで逃げるなんての
は駄目でしょうか?
5)行追加終了後は、b.wfmを閉じれば、処理はa.wfmに戻ります。

なお、以上のことはエディタ上で書き殴っただけで、挙動確認して
いる訳ではありません。動かなければすいません。(^^;)

3662 Re:行追加を別フォームで yuu 1999/12/7-17:20
記事番号3654へのコメント
悲しげさん、ご指導ありがとうございます。
ご指導いただいた内容でイベントを書いてみました。

手続き定義開始  フォーム::フォーム開始(長整数 &表番号)
   編集対照表  "あいう.tbl"
   行追加  フォーム
   ジャンプ 行番号=最終
   フォーム呼び出し  "い.wfm"
手続き定義終了

としました。
しかし、"あ.wfm"のフォームを開こうとすると
「編集対照表  "あいう.tbl"」でエラーになります。
書き方が悪いのでしょうか?
よろしくご指導ください。

これをイベントを使用しないで、コマンドボタンのみで可能でしょうか?

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

3663 Re:行追加を別フォームで 悲しげ 1999/12/7-17:51
記事番号3662へのコメント
どもっ、yuuさん、

すいません、「編集対象表」ってコマンドはありませんね。
「編集表」のタイプミスです。(^^;)(^^;)

>これをイベントを使用しないで、コマンドボタンのみで可能でしょうか?

これはイベント(kev)を使う方法として書きました。
ボタンの機能単独では、すいません、わかりません。
「モーダルフォーム」を使うんでしょうけど、その前
の行追加をどうやるんだか?

3671 Re:行追加を別フォームで 悲しげ 1999/12/8-13:02
記事番号3663へのコメント
どもっ、yuuさん、

kevを使わずに牡丹だけでやる方法が判りました。

a.wfm 一覧表(または伝票)フォーム
           機能名    パラメターリスト
仮称「追加」牡丹 1 モーダルフォーム   b.wfm

b.wfm カード型フォーム
           機能名    パラメターリスト
仮称「追加」牡丹 1 行追加
仮称「終了」牡丹 1 表示         (無くてもいいかも?) 
         2 閉じる    保存する(「確認する」でも可)

いずれのwfmもフォームの属性/編集対象表タブ/許可作業牡丹で
「多重化」にチェックを入れておく必要があります(表をふたつ
のwfmでオープンすることになるため)。
b.wfmの「追加」牡丹は、フォームの外(ワークスペース)に置く
といいかもしれません。フォーム開始直後に行追加状態にしてお
きたいと云う場合には、フォームの属性/オプションタブの最下
行の実行コマンド/開始時にこの「追加」牡丹を指定しておきま
す。

この辺りのやり方は、【多遊】さんのHP(このHPでもリンクされ
ています)の「観験桐」(ダウンロードコーナー)の036(cheese
さん作)が参考になると思います。

3687 どうもありがとうございました yuu 1999/12/9-18:08
記事番号3671へのコメント
悲しげさん、こんばんは
お礼が遅くなり申し訳ありません。
うまく動作しました。
ありがとうございました。

戻る