過去の桐井戸端BBS (桐ver.8)
8361 桐8sp6 訂正項目の指定で教えてください 今村 誠 2000/11/01-17:49
今晩は、また教えてください。
m&sで住所と商品があって、商品の方だけを訂正したいので
下記のイベントでうまくいかないかと思って動かしたのですが
訂正モードに入って1行目は問題なく動くのですが2行目の訂正で
フォーカスを設定した表引き項目で表引きを3回表示します。

最初の表引きは「品C」なのですが、2回目は単価を表引き後
選択した後また品Cを表引きしようとして使用できるハンドルがありません
と表示されます。
ここでエラーにかまわず一度ENTERきーを押せば次の項目
「単価」に移動しますがちょっと動作が気になります。
入力支援を使わずにするともっと大変で単価の表引きがうまく
できなくなります。
数量からイベントにはいると全く問題なく動作します。
やはり面倒でも入力順序の指定は、表引き指定のない項目から
しなくてはならないのでしょうか。
使用項目の定義順は、「品C」「単価」「数量」「運賃」で
数量以外は全て表引きを設定しています。(イの順番)
レコード移動イベントにも下記の記述をしてみましたが訂正中
のため効果なしでした。
フォーム定義を変更して数量から品C単価運賃とするとうまくいきます。(ロの順番)
皆さんで、訂正に入る順序をコマンドボタンで変えている方がいらっしゃったらご指導下さい。
仕方ないのでロの順番にしました。
イの順番にしたいのでよろしくお願いします。

PS「運賃」は最終項目です。品Cは
手続き定義開始 フォーム::行訂正開始(長整数 &明細番号)
  if (&きー=3)
    メソッド呼び出し @t品C.フォーカス設定() 
else if (&きー=4)
    メソッド呼び出し @t数量.フォーカス設定() 
   else
  end
手続き定義終了
手続き定義開始 t品C::入力前(参照 文字列 &編集文字列)
  メソッド呼び出し @t品C.ソース値取得(&タイトル,0 )
  条件 (&きー=4) &編集文字列 = #u
手続き定義終了
手続き定義開始 フォーム::キーダウン(省略)
if ((&仮想キーコード = 115 .OR &仮想キーコード = 27) .and &きー>2)
    &きー="",&番号="",&作業番号=""
   else
  end
手続き定義終了


8428 Re:桐8sp6 訂正項目の指定で教えてください 今村 誠 2000/11/04-15:01
記事番号8361へのコメント
表引きを止めて 入力支援のリストにしました
商品をあらかじめ配列変数で受け取ってするように変更しました

戻る