| はじめまして、Oillerです。
ずっと、桐5を使っていたのですが最近どうしても桐9に切り替えなくてはならなくなり、使い始めたのですが一括処理、イベント処理等どうも勝手が違いプログラム作成がはかどりません。 諸先輩方にお教えを請いたいと思います。よろしくお願いします。
環境はWindowsXP+桐ver9-2007(桐9-2004 sp4)です。 やりたいことは伝票形式フォームを作成し、伝票を作成することです。 このなかでひとつ桐5で実現していた機能を作成したいのですがこれがうまく いきません。
その機能とは明細行の先頭にコード欄を設け、あるコードを入力すると別の表からコードに該当する複数明細行を引いてきて、セットで追加するものです。 つまり、セット商品の内容を一行でまとめて表示するのではなく、複数行に個別の商品ごとにしかも一回のコード入力で追加登録したいのです。
上記機能を実現するなにかうまい方法はありませんでしょうか?
現在トライしている方法は[明細CODE]の入力後イベントに次の様なコードを書いています。変数はメイン部で定義していますが、ここでは省略しています。 商品台帳もメイン部で開いています。 各データリストはカンマ区切りで商品名や価格や数量を並べた文字列です。
現在このコードだと「KU1068:対象表が更新中またはグループ操作中のためこのコマンドは使用できません 」というエラーメッセジがでて行が追加できません。 マニュアルを見るとグループ選択状態だと、表整理、行挿入、行移動、行複写 ができないとあります。このあたりがポイントだと踏んでいるのですが、先が見えません。
手続き定義開始 明細CODE::入力後(参照 文字列 &編集文字列,長整数 &モード,参照 長整数 &入力継続) &fi明細表=#IS表 &fi売上番号=[売上番号] &fiコード=#NUM(&編集文字列) 編集表 &fi商品台帳 検索 ↓,[明細CODE]{&fiコード}, 終了状態=&実行リターン ケース開始 ケース(#EOF) ケース (90180000<&fiコード .AND &fiコード<90529999) &sTITLE=[明細名] &sMENULIST=[MENULIST] &s明細LIST=[明細LIST]+",END$$$$$" &s数量LIST=[数量LIST] &s単価LIST=[単価LIST] 編集表 &fi明細表 &I=#対応番号(&s明細LIST,"END$$$$$")-1 繰り返し &J=1,&I,1 条件 (&sTITLE<>"") 行追加 [売上番号]=&fi売上番号,\ [明細CODE]=&fiコード,\ [明細名]=&sTITLE,\ [明細]=#対応文字列(&s明細LIST,&J),\ [数量]=#VAL(#対応文字列(&s数量LIST,&J)),\ [単価]=#VAL(#対応文字列(&s単価LIST,&J)) 繰り返し終了 ケース その他 &sTITLE=[明細名] &sMENULIST=[MENULIST] &s明細LIST=[明細LIST] &s数量LIST=[数量LIST] &s単価LIST=[単価LIST] 編集表 &fi明細表 行訂正 [明細CODE]=&fiコード,\ [明細名]=&sTITLE,\ [明細]=&s明細LIST,\ [数量]=#VAL(&s数量LIST),\ [単価]=#VAL(&s単価LIST) ケース終了 手続き定義終了
|