過去の桐井戸端BBS (桐ver.8)
29235 伝票形式フォームの明細行に別フォームの集計値を流し込むには 備後東城のYAPPON 2005/03/04-14:26
 先日はアドバイスいただきありがとうございました。
引き続き、DOS上のdBXLで動いている社内アプリケーションを桐8上へ移す試みを続けております。
 次にチャレンジしているのは、鉱山と工場間の原料運搬日報の集計プログラムの移植です。
 毎日何台かのトラックが複数の鉱山と工場間を原料を積んで往復しているのですが、
原料を工場に投入するたびにトラックスケールに載って重量を計量し、看貫票というものを発行します。
1日の仕事が終わると、運転手は原料運搬日報を記入してその日に運んだ分の複数の看貫票とともに提出します。
 提出された看貫票は原料運搬日報とともに集計されて記録し、月間の集計を行います。

 日報データの入力用として、原料運搬日報入力.wfmという伝票形式フォームを作って、
ヘッダー部の日報日付・車両番号・運転手などのグループ項目を入力したところで、
看貫票入力というコマンドボタンをクリックすると一覧表形式の看貫票入力.wfmが開くようにしました。
 その後看貫票1枚1枚のデータを入力した上で集計転送コマンドボタンをクリックすると、
運送区間・原料毎に集計されてその合計値が原料運搬日報入力.wfmの明細行に流し込まれるように
一括処理プログラムを作ってみました。

 しかしながら、実行してみると集計後の看貫票合計値が一行分流し込まれたところで、
「KU1068:対照表が更新中またはグループ操作中のためこのコマンドは使用できません。」というエラーになって、
2行目以降の明細行には合計値が流し込めないことが分かりました。

 このような場合、看貫票入力フォームの表の集計データを原料運搬日報フォームの明細行にエラーにならずに
流し込む方法はありますでしょうか。
 過去ログに同様な処理の例がありましたら、その検索キーワードをお教えください。

29236 Re:伝票形式フォームの明細行に別フォームの集計値を流し込むには ONnoji 2005/03/04-15:30
記事番号29235へのコメント
備後東城のYAPPONさん、こんにちは。

フォームで、グループ項目を使用しているということなので…

http://www.fuku3.com/~habata/bbshead.htm

のページへ進んで、キーワードに

グループ選択解除

と入力して[Googleで桐井戸端BBS過去ログ検索]ボタンを実行すると、いろいろと情報が見つかりますよ。

29243 Re:伝票形式フォームの明細行に別フォームの集計値を流し込むには ケント 2005/03/04-17:18
記事番号29235へのコメント
備後東城のYAPPONさん こんにちは

>が、原料を工場に投入するたびにトラックスケールに載って重量を計量し、看貫票
>というものを発行します。1日の仕事が終わると、運転手は原料運搬日報を記入し

ご質問に対する答えではありません。m(__)m

この"看貫"という言葉に惹かれました。
これってもしかして"カンカン"のことですよね。こういう言葉があるのを初めて知りました。
FEP(MSIME2000)でも変換すると熟語で出てきます。

今まではなんとなく
"重量超過の自動車が載るとカンカンと音が鳴る"
みたいな認識でした。

かんかん(‥クヮン)【看貫】
1 物品の量目をはかること。明治のはじめ、横浜で、生糸の貿易商が外国商館に生糸を売りこむ時、
商館員が立ち会って分量を改め見たところからいう。
2 =かんかんばかり(看貫秤)
3 競馬で、馬の負担重量をいう。

国語大辞典(新装版)小学館 1988

…ということは競馬をする人は既知のことなのか!

桐とは関係ないのですが、目ウロコだったので書いてしまいました。
管理人さん ごめんなさい。(>_<)m(__)m
29248 Re:伝票形式フォームの明細行に別フォームの集計値を流し込むには 悲しげ 2005/03/04-21:05
記事番号29235へのコメント
ONnojiさんが示されたように、自分で関係過去ログを探すのが、よいと思いますが、気の付いたところを少々素描してみます。

>ヘッダー部の・・・・などのグループ項目を入力したところで、・・・
>・・・運送区間・原料毎に集計されてその合計値が原料運搬日報入力.wfm
>の明細行に流し込まれるように・・・・
>しかしながら、実行してみると集計後の看貫票合計値が一行分流し込まれた
>ところで、「KU1068:対照表が更新中またはグループ操作中のためこのコマ
>ンドは使用できません。」というエラーになって・・・・

エラーが「更新中」または「グループ操作中」であることから、考えられることのひとつは
「グループ項目を入力したところ」で、更新系のモードの最中であるかもしれないこと。
これに対する対策は、更新系のモードから表示モードにするためには、
例えば下記のようにコマンドボタン(表示/確定する)をメソッド/実行させるとか、
更新モード設定メソッドで確定させるとかの方法も有り得るかと思われます。

 method @b表示確定.実行()

が、原因としては、むしろ「グループ操作中」であることである可能性の方がありそうです。
グループ選択状態では、確か読み込みや書き込みはできなかったと思いますので、
この場合の対策は、読み込み等をする前に「グループ選択解除」を実行して、
しかる後に読み込み等、次いで再度「グループ選択」させればよいような気がします。

 &グ=[某グループ項目]
 または
 メソッド呼び出し グループ項目obj名.グループソース値取得(&グ,0)
 グループ選択解除
 ・・・流し込み(?)処理、色々・・・
 検索 [某グループ項目]{&グ}
 グループ選択

29318 やはりKU1068エラーで止まってしまいます 備後東城のYAPPON 2005/03/08-10:20
記事番号29235へのコメント
 素早いアドバイスをありがとうございました。
 グループ選択解除の命令を挟むことによりできそうな感じがしましたので、
以下のように看貫票入力.wfm内の集計値転送ボタンに定義されているプログラムを修正してみました。
 看貫票入力.tblは集計行だけの状態になっています。

手続き定義開始 集計値転送()
変数宣言 固有,整数{&起点コード,&着点コード,&品名コード}
変数宣言 固有,長整数{&正味重量,&台数}
変数宣言 固有,通貨{&運賃単価}
編集表 ”看貫表入力.tbl”
ジャンプ 行番号=先頭
&起点コード=[起点コード]
&着点コード=[着点コード]
&品名コード=[品名コード]
&正味重量=[正味重量]
&台数=[台数]
&運賃単価=[運賃単価]
編集表 ”原料運搬日報.tbl”
グループ選択解除
項目値代入 [起点コード]=&起点コード
項目値代入 [着点コード]=&着点コード
項目値代入 [原料コード]=&品名コード
項目値代入 [実重量]=&正味重量
項目値代入 [運搬台数]=&台数
項目値代入 [運賃単価]=&運賃単価
編集表 ”看貫表入力.tbl”
ジャンプ 行番号=+1
繰り返し (.not #EOF)
  &起点コード=[起点コード]
  &着点コード=[着点コード]
  &品名コード=[品名コード]
  &正味重量=[正味重量]
  &台数=[台数]
  &運賃単価=[運賃単価]
  編集表 ”原料運搬日報.tbl”
  行追加 ¥
     [起点コード]=&起点コード,¥
     [着点コード]=&着点コード,¥
     [原料コード]=&品名コード,¥
     [実重量]=&正味重量,¥
     [運搬台数]=&台数,¥
     [運賃単価]=&運賃単価
  編集表 ”看貫表入力.tbl”
  ジャンプ 行番号=+1
繰り返し終了
  編集表 ”原料運搬日報.tbl”
  グループ選択
手続き定義終了

 実行してみたのですが、今度は14行目のグループ選択解除コマンドのところで同じエラーとなってしまいました。
 やはり伝票形式の入力途中で別フォームを開いて入力した結果を、伝票形式の明細行に流し込むのは無理なんでしょうか?
 まだ桐に詳しくないので単に理解不足なだけかもしれませんが。

29330 Re:やはりKU1068エラーで止まってしまいます 悲しげ 2005/03/08-21:20
記事番号29318へのコメント
「KU1068エラー」って何だったか、実は既に覚えておりませんが、もし「更新中」か「グループ操作中」に伴うエラーと云うことであれば、
今度は前者の可能性も疑ってみる必要があるかもしれません(前者・後者の両エラーかもしれんが)。
と云うのは、例示された記述では表示モードで使用するコマンドと更新中のモード(編集モードとも云う(C)M.Sadaかな?)に関する記述が
混在しているからです。
例えば、表示モードで使えるコマンドは「ジャンプ」「グループ選択解除」「グループ選択」「行追加」などです。
しかるに「項目値代入」は編集モードでしか使えないコマンドです。
同様のことを、もし表示モードでやりたいのなら、素直に「行訂正」コマンドを使うべきでしょう。



それと、どうやらグループ選択状態にあるのは、"原料運搬日報.tbl"の方のようですが、
もうひとつのやり方として、同表を多重化して処理させてから、その結果を元画面に反映させるってのもありそうな・・・。
(詳しくは後刻ONnojiから・・・・ナンチッテ)(^^;)



余談ながら、手続き定義内で宣言する変数は、普通は「自動変数」(当該手続き定義内だけで有効な変数)です。
「固有変数」は複数のフォームをまたいで有効です(Win桐ではかなり共通変数に似ている)。
ひとつのフォーム内だけで有効な変数は「局所変数」でして、普通は「名札 メイン」部で宣言します
(フォーム定義画面から設定することも可能ですが)。
ちなみに、今回の場合に、
 変数宣言 整数{&起点コード,&着点コード,&品名コード}
のように変数の種別記載を省略すると、手続き定義内での宣言ですから、
桐様が勝手に自動変数として扱う仕様になっていたと記憶します。

29331 Re:やはりKU1068エラーで止まってしまいます ONnoji 2005/03/09-04:00
記事番号29330へのコメント
悲しげさん

>もうひとつのやり方として、同表を多重化して処理させてから、その結
>果を元画面に反映させるってのもありそうな・・・。

呼び出しモードなので登場しましたが。
どうやら、非表示状態、かつグループ選択状態の両方のような気がしますね。

>(詳しくは後刻ONnojiから・・・・ナンチッテ)(^^;)

このケースでは多重化が適しているとは思えないのですが…
確か、非表示状態からは多重化は出来なかったと思います。

<追伸>

旅館「泥沼」に深入りで長居してます(^^ゞ>悲しげさん
29332 提案1 今村 誠 2005/03/09-13:21
記事番号29235へのコメント
備後東城のYAPPONさんこんにちは
>日報データの入力用として、原料運搬日報入力.wfmという
>”原料運搬日報.tbl”対象表の伝票形式フォームを作って、
>ヘッダー部の日報日付・車両番号・運転手などのグループ …………A)
>項目を入力したところで、看貫票入力というコマンドボタン
>をクリックすると一覧表形式の看貫票入力.wfmが開くよう
>にしました。

こんな方法ではいかがでしょうか

A)の伝票形式はそのままにして別途グループ項目のない明細だけの
フォームで日付や運転者名を入力後に次のボタンで読み込めると思います。

 →機能      機能パラメータ
1 表示      確定する
2 なし   #代入(&STR,#STR([日報日付])+","+[車両番号]+","+[運転手])
3 フォームの選択 原料運搬日報入力.wfm
4 開く      "看貫票入力.wfm"

他にも方法はあると思いますが

29334 Re:提案1 今村 誠 2005/03/09-15:10
記事番号29332へのコメント
> →機能      機能パラメータ
>1 表示      確定する
>2 なし   #代入(&STR,#STR([日報日付])+","+[車両番号]+","+[運転手])
>3 フォームの選択 原料運搬日報入力.wfm
>4 開く      "看貫票入力.wfm"

4は動作しません
開始時実行ボタンなどを指定して下さい
29338 Re:グループ選択状態での読み込みとか 悲しげ 2005/03/09-19:25
記事番号29331へのコメント
ONnojiさま、ではごゆっくり長逗留を。
(なんつーか、「をんの爺様」ってなイメージですが)(^^;)

と云いつつ、このコメントは実はNo.29318へのそれだったりします。
え〜、No.29318の記述から想像を逞しくして、次のような記述を試して
みましたが、まったくノープロブレムで動きました。
  コマンドボタンの
   機能  手続き実行
   同パラ 読込test
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
proc 読込test()
 var 自動,長整数{&表No},自動,文字列{&グ}
 method @フォーム.更新モード設定(0)
 method @フォーム.描画禁止(1)
 &グ=[某グループ項目]
 表 "カンカンなんとか.tbl"
 &表No=#is表
 行集計 データ行=無効,・・・・・
 編集表 "なんとか日報.tbl"
 グループ選択解除
 読み込み 表,&表No,編集表=する,{[色々],[色々色々]・・・}
 終了 表 &表No
 検索 [某グループ項目]=&グ
 グループ選択
 method @フォーム.描画禁止(0)
end
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
以上、参考になれば。

29340 Re:グループ選択状態での読み込みとか 悲しげ 2005/03/09-22:28
記事番号29338へのコメント
proc 〜 end は「手続き定義開始」「手続き定義終了」
var は「変数宣言」
method は「メソッド呼び出し」
のそれぞれ英表記です。

それと「@フォーム」は、正確には半角カタカナです
(この掲示板では自動的に全角変換されてますが)。

29341 しばらく考えてみます 備後東城のYAPPON 2005/03/10-09:09
記事番号29235へのコメント
 皆さん、いろいろとアドバイスありがとうございます。
 まだ桐8をよく理解していないのに、運搬日報集計のプログラム移行に着手したのは、ちょっと無謀だったかなと後悔しています。
 入力して集計してリストに出すくらいのシステムだったらすんなりできると思っていたのですが、こんなところでつまづくとは。
 メソッドの使い方などまだ理解しきれていない点がありますので、もう少し勉強した上でアドバイスいただいた方法を試して、
結果報告ならびに再質問させていただきます。
 本当に皆さんのお手間を取らせてすみませんです。

PS.「看貫(カンカン)」という言葉について
 私も入社当初はカンカンという言葉が看貫とはわからず、何か鐘でも鳴らすのかなと思っていました。

 ちなみに、私の勤務する工場では製品サイロがいっぱいになることを「満庫」というのですが、
事務所内で生産管理の人が「もう満庫にしたか?」とか「すぐに満庫にしてぇ」と言うと、
それを聞いた関東から来たお客さんや積込みの運転手がちょっと変な顔をします。
(桐に関係ない話でスミマセン)

29344 Re:しばらく考えてみます 悲しげ 2005/03/10-22:05
記事番号29341へのコメント
どうぞ、ごゆっくりお考え下さい。

>(桐に関係ない話でスミマセン)

いえ、とても面白かったです。パチパチパチ・・・。
29519 先に入力したグループ項目の値の反映 備後東城のYAPPON 2005/03/29-16:52
記事番号29338へのコメント
 他の仕事の合間に桐のプログラムを作っているので、相変わらず悪戦苦闘しています。
 悲しげさんから教えていただいたメソッドを使った方法で看貫表入力のデータを
エラーにならず流し込めそうなのですが、看貫表入力のフォームを呼び出す前に日報入力フォームの
ヘッダー部で入力してある項目(日報日付とか車両番号・運転手名)の値を、
看貫表入力から流し込んだデータに引っ付ける方法でつまづいてしまいました。

> 読み込み 表,&表No,編集表=する,{[色々],[色々色々]・・・}

 これですと、看貫表入力.tblにある項目から流し込むデータだけしか読み込まれず、
先に入力してあるグループ項目は空白のまま追加されると思うのですが。

 的外れな質問でしたら申し訳ないです。

29525 Re:先に入力したグループ項目の値の反映 悲しげ 2005/03/29-23:47
記事番号29519へのコメント
>悲しげさんから教えていただいたメソッドを使った方法で

この場合のメソッドは、多分に見た目(もしくは更新モードを表示モード
にするための念のため)の問題であって、無くてもさほど支障はない程度のシロモノだと思います。
本件の焦点はあくまで「グループ選択」とその「解除」の部分にあると私は思っています。

さて、

>先に入力してあるグループ項目は空白のまま追加される

当該グループ項目を空にしてあれば、空のまま追加されるのはむしろ当然のことだと思います。
であれば、当該グループ項目を空にしないようにするのが必然的な解決方法ではないでしょうか?

No.29338に即して云えば、例えば前段で値を入れておく方法として

 &STR=[某グループ項目]
 表 "カンカンなんとか.tbl"
 &表No=#is表
 行集計 データ行=無効,・・・[作業項目]=&STR・・・

とか、あるいは

 &STR=[某グループ項目]
 表 "カンカンなんとか.tbl"
 &表No=#is表
 置換 [作業]=&STR /*または条件選択で値を分けて置換する?*/
 行集計 データ行=無効,・・・[作業項目]=#項目値・・・

のようにしておいて、

 グループ選択解除
 読み込み 表,&表No,編集表=する,{[某グループ項目][作業項目]\
                 ,[色々],[色々色々]・・・}

とか、
あるいは前段で値を入れておくのではなく、後段で入れる方法としては

 読み込み 表,&表No,編集表=する,{[色々],[色々色々]・・・}
 終了 表 &表No
 置換 \
  [某グループ項目]=#cond([某グループ項目]="",&STR,1,[某グループ項目])
 検索 [某グループ項目]=&グ
 グループ選択

とか、色々な方法があろうかと思います。

29529 訂正と補足 悲しげ 2005/03/30-20:40
記事番号29525へのコメント
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
 &STR=[某グループ項目]
 表 "カンカンなんとか.tbl"
 &表No=#is表
*置換 [作業]=&STR /*または条件選択で値を分けて置換する?*/
     ↓ 項目名が一貫してなかったので(^^;)
 置換 [作業項目]=&STR /*または条件選択で値を分けて置換する?*/
 行集計 データ行=無効,・・・[作業項目]=#項目値・・・
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
それと
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
 置換 \
  [某グループ項目]=#cond([某グループ項目]="",&STR,1,[某グループ項目])
*検索 [某グループ項目]=&グ
             ↓ 変数は今回は組込変数を使うようにしたので
 検索 [某グループ項目]=&STR
 グループ選択
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

組込変数&STRで書いてみたのは、自動変数だと置換に使えないかもしれなかったからです。

29560 Re:サンプルを作ってみました 今村 誠 2005/04/04-14:00
記事番号29334へのコメント
備後東城のYAPPONさんこんにちは、
解決されたのなら無視して下さい。
まだでしたら、サンプルを作ってみました。
ご希望であればアップします。
29573 なんとか集計値を流し込めたようです 備後東城のYAPPON 2005/04/05-16:00
記事番号29529へのコメント
 悲しげさん、皆さん、いろいろとアドバイスをありがとうございました。

 原料運搬日報.tblにあるグループ項目を看貫表入力.tblにも設け、先に入力したグループ項目値を共通変数を介して置換し、
看貫票入力で入れた値と一緒に読み込んでやったところ、エラーにならずうまく流し込めるようになったようです。

1.看貫表入力ボタンに、下記の手続きを実行後、看貫票入力.wfmを開くように定義。

手続き定義開始 看貫票入力前準備()
 &日報番号=[日報番号]
 &日報日付=[日報日付]
 &車両番号=[車両番号]
 &運転者コード=[運転者コード]
 &運転者名=[運転者名]
 メソッド呼び出し @フォーム.更新モード設定( 0 )
手続き定義終了

2.集計値転送看ボタンに、下記の手続きを実行後、看貫票入力.wfmを上書き保存してフォームを閉じるよう定義。

手続き定義開始 集計値書き出し()
 表 "原料運搬日報.tbl", 表番号=1
 表 "看貫表入力.tbl", 表番号=2
 編集表 2
 条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
 行集計 条件名="区間品名毎"
 データ行 無効
 置換 [日報番号]=&日報番号,[日報日付]=&日報日付,[車両番号]=&車両番号,[運転者コード]=&運転者コード,[運転者名]=&運転者名
 編集表 1
 グループ選択解除
 読み込み 表, 2, 編集表=する,¥
  {[日報番号],[日報日付], [車両番号], [運転者コード], [運転者名],[起点コード],[着点コード],[原料コード],[実重量],[運搬台数],[運賃単価]}
グループ選択
 編集表 2
 行集計解除
 行削除 *,圧縮
手続き定義終了

 以上の方法で、エラーにならずに看貫票の集計値が原料運搬日報の明細行に転送されるようになりました。
 まだ、細かいところで使い勝手が良くなるようにブラッシュアップしていく必要はあるのですが、とりあえずできるようになってヤレヤレです。

 また、困ったことが出たら泣き付くかと思いますが、今後も暖かい手を差し伸べてやって下さいませ。
 以上、問題解決のご報告まで。

29576 Re:なんとか集計値を流し込めたようです 悲しげ 2005/04/05-21:17
記事番号29573へのコメント
備後東城のYAPPONさん、うまく行って何よりです。
が、細かいところですが、記述に少し変なところがあるので、コメントしておきます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
手続き定義開始 看貫票入力前準備()
 &日報番号=[日報番号]
 ・・・・
 メソッド呼び出し @フォーム.更新モード設定( 0 )
手続き定義終了
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
のような普通は書き方はしないと思います。非表示モードで項目値を変数に代入しない方が何かと無難なので、
しいて更新モード設定メソッドを記述したければ、記述の順番としてはむしろ
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
手続き定義開始 看貫票入力前準備()
 メソッド呼び出し @フォーム.更新モード設定( 0 )
 &日報番号=[日報番号]
 ・・・・
手続き定義終了
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
とすべきでしょう。表示モード化はもっと他の時点の方がいいような気がしないでもありませんが、ま、大した問題ではないでしょう。
次、
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
手続き定義開始 集計値書き出し()
 表 "原料運搬日報.tbl", 表番号=1
 表 "看貫表入力.tbl", 表番号=2
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
のように、定数で表番号を指定するのは避けた方がよいでしょう。
なぜなら、例えばフォームの編集対象表(があればですが)の表番号は
桐が自動的に割り当てますから、別途定数で指定する表番号とぶつかる
危険性が無いとは限らないからです。とすれば、
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
手続き定義開始 集計値書き出し()
 表 "原料運搬日報.tbl"
 表 "看貫表入力.tbl"
*条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
 ↑一般的にはこうするより、ここではむしろ並べ替えすべきでは?
*行集計 条件名="区間品名毎"
*データ行 無効
 ↑↓ここは次のように1行で記述可能です。 
 行集計 条件名="区間品名毎", データ行=無効
 置換 [日報番号]=&日報番号,・・・・
*私なら行集計前に置換します。行集計後に集計行の置換も確かにできますけど(^^;)
 編集表 "原料運搬日報.tbl"
 グループ選択解除
 読み込み 表, "看貫表入力.tbl", 編集表=する,・・・
 編集表 "看貫表入力.tbl"
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
のように、表番号を使わずに直接表ファイル名を記述するか、あるいは
どうしても表番号を使いたければ、ここは定数ではなく
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
手続き定義開始 集計値書き出し()
 var 自動,長整数{&表No1,&表No2}
 表 "原料運搬日報.tbl"
 &表No1=#is表
 表 "看貫表入力.tbl"
 &表No2=#is表
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
のように変数を使う方がよいでしょう。

ところで、ここで表を開いたら、閉じるのはいつなのでしょう?
その辺りはキチンと決めておかないと、あとで泣くことになる可能性もまたあったりします。(^^;)
必要なければ、手続き内で閉じてしまうとか、あるいはフォームの編集対象表であるのなら、
改めて開く必要すらないようにも思えます(勿論閉じることもなく)。


29582 Re:サンプルを作ってみました 備後東城のYAPPON 2005/04/06-12:58
記事番号29560へのコメント
今村 誠さん、ありがとうございます。
向学のため、サンプルを見せていただければ幸いです。
いろいろな方法を知っておけば、今後の参考になりますから。
よろしくお願いします。

29583 度重なるご指導ありがとうございます 備後東城のYAPPON 2005/04/06-14:10
記事番号29576へのコメント
悲しげさん、毎度お世話になりありがとうございます。

>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>手続き定義開始 看貫票入力前準備()
> メソッド呼び出し @フォーム.更新モード設定( 0 )
> &日報番号=[日報番号]
> ・・・・
>手続き定義終了
>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>とすべきでしょう。

 メソッドの意味をまだよく理解してないところがあり、動かしてみてエラーにならなかったからまあいいやという程度の認識で書いています。(汗)

>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>手続き定義開始 集計値書き出し()
> 表 "原料運搬日報.tbl", 表番号=1
> 表 "看貫表入力.tbl", 表番号=2
>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>のように、定数で表番号を指定するのは避けた方がよいでしょう。
>なぜなら、例えばフォームの編集対象表(があればですが)の表番号は
>桐が自動的に割り当てますから、別途定数で指定する表番号とぶつかる
>危険性が無いとは限らないからです。

 そうなんですか。主表と副表という関係から表番号1と2を割り当てました。

>*条件 (.NOT #行集計状態 .AND .NOT #絞り込み状態 .AND #整列状態) 整列解除
> ↑一般的にはこうするより、ここではむしろ並べ替えすべきでは?

 上記は、操作履歴登録をコピー&ペーストして持ってきたものです。

>*行集計 条件名="区間品名毎"
>*データ行 無効
> ↑↓ここは次のように1行で記述可能です。 
> 行集計 条件名="区間品名毎", データ行=無効

 なるほど。

> 置換 [日報番号]=&日報番号,・・・・
>*私なら行集計前に置換します。行集計後に集計行の置換も確かにできますけど(^^;)

 主表に流し込むのは集計値だけなので、後で置換した方がデータ数が少なくて済むのかなと思いました。
 まあ、今のパソコンは高速なのでどちらでも一瞬で終わってしまうものと思いますが。

>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>手続き定義開始 集計値書き出し()
> var 自動,長整数{&表No1,&表No2}
> 表 "原料運搬日報.tbl"
> &表No1=#is表
> 表 "看貫表入力.tbl"
> &表No2=#is表
>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>のように変数を使う方がよいでしょう。

 そのようにいたします。

>ところで、ここで表を開いたら、閉じるのはいつなのでしょう?
>その辺りはキチンと決めておかないと、あとで泣くことになる可能性も
>またあったりします。(^^;)
>必要なければ、手続き内で閉じてしまうとか、あるいはフォームの編集
>対象表であるのなら、改めて開く必要すらないようにも思えます(勿論
>閉じることもなく)。

 メニュー代わりに、Windowsの画面から桐のフォームファイルへのショートカットアイコンをクリックして、
毎回桐を起動した上でフォームファイルを実行するようにしています。
 フォーム上の処理が終わったら、桐を抜け出てWindowsに戻るようになっていますので、
桐が終了すれば自動的に表も閉じるのではないかという手抜きモードです。

29584 Re:サンプルを作ってみました 今村 誠 2005/04/06-15:24
記事番号29582へのコメント
備後東城のYAPPONさんこんにちは
>向学のため、サンプルを見せていただければ幸いです。
お役に立てるとは思っていませんが、参考になれば幸いです。
ホームページをお持ちではないですか?
私も10年近く前に突然痛みが出て
同じ経過をたどりました。

こちらにアップしています。桐8で動作致します
29587 Re:サンプルを作ってみました 備後東城のYAPPON 2005/04/07-10:36
記事番号29584へのコメント
 今村 誠さん、こんにちは。

 ありがとうございます。
 他の仕事があわただしくて、なかなか桐の方に集中できないので、ダウンロードの上拝見させていただきます。

>ホームページをお持ちではないですか?
>私も10年近く前に突然痛みが出て
>同じ経過をたどりました。

 私の腰椎椎間板ヘルニア闘病記をお読みいただけましたか。
 手術後は痛みや痺れは出ていないのですが、腰に負担のかかる仕事は極力さけています。
ゆえに40代半ばでも独身です。(笑)
 座り仕事の方には腰痛持ちが多いので、悪化させて手術に至らないよう皆さん気をつけましょう。

戻る