過去の桐井戸端BBS (桐ver.8)
2976 行移動コマンドがないのはなぜ? エル 1999/10/21-21:55
桐8の一括処理コマンドを見ていると、どうも行移動というコマンドがないようで
すね。桐5にもありませんでした。
現在、自社用に桐5を使って見積、請求処理を組んで使っていますが、桐8に移行
すべく準備をしているところです。

一括は車の修理見積、請求に使う為、明細行の行数が多く(時には50〜60行)整
然とした内容にする為に、1行又は数行を移動する事が多発します。桐5では行移
動コマンドが無かったので、明細行に行番号の項目を作り、この行番号を加工する
ことにより、行移動処理をしていました。

具体的には、
変数 &行番号1 移動したい行の行番号
&行番号2 移動先の行番号

行訂正 [行番号]=[行番号]+0.1
位置指定 [行番号]=&行番号1
行訂正 [行番号]=&行番号2
整列 "明細行番号順"
置換 [行番号]=#連番
位置指定 行番号=&行番号2

桐8の場合も同様な処理を書かなければならないのでしょうか?
又、単純な質問ですが、なぜ行移動コマンドはないんでしょうか?
2981 Re: 佐田 守弘 1999/10/22-00:11
記事番号2976へのコメント
エルさん
最初に確認させて頂きますが、ここで言う行移動コマンドとは、会話処理で行う行操
作→行移動の操作を行う一括処理コマンドどの事でしょうか。だとしたら、この機能
を行う一括処理コマンドは存在しません。

詳しい事を説明し始めると、長くなってしまいますので、詳しい話はいずれ私のHPで
解説させて頂くこととし、ここでは簡単にその理由と対策を述べます。

●どうしてなの?どうしたら良いの
まずどうして行移動コマンドがないかの理由を述べます。そもそもデータベースはデ
ータがどの様な形で並んでいてもよく、必要な時に必要な順序で並べられてば良い、
という考えが前提になっています。この点がデータベースと表計算ソフトとの概念的
な違いです。
もし1つの表だけで整然とした内容にするためには、お書きになられたような方法で
行の並べ替えを行うのが、正当的なやり方です。

会話処理モードで処理を行うのであれば、手作業で行の入れ替え移動は可能です。で
もこれはデータベースとしては本来は邪道な機能なのでしょうね。

●本当はどうすべき
詳しくは別途解説することにさせて頂きますが、見積明細で明細のグループ分けをし
た印刷を行うとしたら、表の作り方から考え直す必要があると思います。
1つの方法として、大項目、中項目、小項目といった表を別に作り、結合表で組み合
わせるか、表引き関数を使って、グループ印刷する必要があるかと思います。
あるいは大項目、中項目、小項目を1つの表に作り、グループ印刷を行う方法も考え
られます。

●かなり邪道な方法ですが
あるいはこの様な機能を期待されているのかと思いますが、行を指定してその範囲を
指定場所に移すのであれば、一括処理でできないわけではありません。
@一括処理から会話モードの指定行を行います。
A指定した行を絞りこんで別の表に書き出します。
B絞りこまれている行を削除します。
C絞り込みを解除し、移動先を指定します。
D指定した移動先に書き出した行を読みこみます。

佐田守弘(KS-00119)
2992 Re: エル 1999/10/23-10:01
記事番号2981へのコメント
佐田先生、お返事ありがとうございます。
私がしたかったのは、御指摘の通り会話処理における行移動の便利さを、フォームの中で実現
したいということでした。

コメントを拝見して、考えたことは、
1.表の作り方を見直す。
2. >●かなり邪道な方法ですが
>@一括処理から会話モードの指定行を行います。
>A指定した行を絞りこんで別の表に書き出します。
>B絞りこまれている行を削除します。
>C絞り込みを解除し、移動先を指定します。
>D指定した移動先に書き出した行を読みこみます。
に従って一括を組む。これが一番いい方法かと思われます。

また、何故、行移動コマンドが存在しないのかについては、どうもイマイチ理解し難いのです
が、管理工学でも作れないと素直に解釈するしかないのですね。
行移動についての詳細は、後日先生のHPで解説して頂けるとの事ですので、楽しみにお待ち
しています。

戻る