過去の桐井戸端BBS (桐ver.8)
17680 一括処理で置換を行うと別項目も置換されてしまう オオタニ 2002/10/23-13:12
どなたか教えて下さい。
一括処理で項目指定して置換を行いたいのですがどうしても他の項目も置き換えられてしまいます。
一括の行には 置換 終了状態=&OK,[OOO]と書いています。
17682 Re:一括処理で置換を行うと別項目も置換される KH 2002/10/23-13:46
記事番号17680へのコメント
これで本当に他の項目を置換しているでしょうか?

置換 終了状態 = &OK,[○○○]

この場合、項目[○○○]の再計算をしているだけだと思います。


例えば、項目[○○○]に項目[×××]を置換するのは

置換 終了状態 = &OK,[○○○]=[×××]

で良いのではないでしょうか。

17684 Re:一括処理で置換を行うと別項目も置換される natsu 2002/10/23-14:21
記事番号17682へのコメント
>どうしても他の項目も置き換えられてしまいます
>一括の行には 置換 終了状態=&OK,[OOO]と書いています。

置換されてしまう項目は、計算項目ですか?

17686 Re:一括処理で置換を行うと別項目も置換される オオタニ 2002/10/23-15:11
記事番号17684へのコメント
natsuさん

>置換されてしまう項目は、計算項目ですか?

はい。 表の定義には2項目に計算式が入っておりその片方を置換すると他の方も置換されます。

17688 Re:一括処理で置換を行うと別項目も置換される オオタニ 2002/10/23-16:11
記事番号17684へのコメント
natsuさん

もうすこし詳しく状況を書きます。
表に項目計算式が2項目に有りますその一つが[000]でデータ型、日時、項目計算式が #日時値([△△△])です。
他の項目は[×××]でデータ型 日時、項目計算が#日時値です。
これで[000]を置換すると[×××]も変わってしまいます。
このような状況ですアドバイスお願いします。


17689 Re:一括処理で置換を行うと別項目も置換される natsu 2002/10/23-16:45
記事番号17688へのコメント
始めに・・・
置換コマンドは全ての計算項目を置換します
これは、桐の仕様なので仕方がありません

さて、
>他の項目は[×××]でデータ型 日時、項目計算が#日時値です。
この項目は項目計算式から推察すると、行を追加したときの時刻を記録する
(タイムスタンプ用の)項目でしょうか?

だとすれば、方法は2つあります

その1:表を再定義し、[×××]の項目属性で「更新禁止」をチェックする
その2:[×××]の#日時値を項目計算式ではなく、項目属性の初期値で対応

この場合であれば、表の中で項目計算式を定義している項目を1つにすることで対応するのがよいと思いますが...
表編集のマニュアルを確認して、どちらがよいか考えてみて下さい
17690 それは仕様です 悲しげ 2002/10/23-16:55
記事番号17688へのコメント
一括処理エディタ内で、「置換」コマンドのヘルプを覗いてみて下さい。
--------------------------------------------
置換 終了状態=<変数名>【,<計算項目名>|】

 全ての計算項目の再計算をする。項目の指定を省略すると、一番目の計算項目が仮定される。

終了状態=<変数名>で、実行結果を格納する変数の名前を指定する
<変数名>の型は数値または整数である。
終了状態=<変数名>の戻り値
1 : 正常終了
-2 : 排他エラー(ファイル排他)
-3 : 排他エラー(行ロック)
0 : その他のエラー
--------------------------------------------
このように記載されています。
ですから、私はむしろ「ひとつの計算項目を指定するだけで、他の全ての計算項目も再計算してくれる=逐一指定しなくてもいいので
便利っ」と解釈しています。
ちなみに、非計算項目の置換を実行しても、他の全ての計算項目も同時に再計算されます。
逆に云えば、再計算してほしくない項目は、そもそも計算項目にすべきではありません。
そのような項目は、非計算項目として、例えば置換の「条件名」をうまく利用する等の工夫をするとよいかもしれません。

17695 Re:一括処理で置換を行うと別項目も置換される オオタニ 2002/10/23-18:32
記事番号17689へのコメント
うまく行きました 皆さん有り難う御座いました
再計算したくない項目を項目属性の初期値で対応しました。
17707 Re:それは仕様です コルネ 2002/10/24-12:42
記事番号17690へのコメント
この仕様が良くないですね。

桐には、データ型にレコード更新日時がありません。
ファイルメーカーにはあって、とっても便利です。
イベントで書き込めば良いのですが、一々フォームを作るのはメンドイです。
表のみでデータをダイナミックにハンドリングできるのが桐の利点と思ってます。

項目計算式に、#日時値とやると、更新日時が記録されるのですが、
表を再定義して、例え他の項目定義を変更しただけでも、#日時値が
現在日時に全て計算しなおされて、一巻の終わり。^_^;

V10では、この仕様変更か、データ型[更新日時]新設を切望してます。

自表からの表引きが出来ないのと並んで、桐の弱点ですね。

戻る