ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

レコード削除後の一覧表示が不適切

このトピックの投稿一覧へ

なし レコード削除後の一覧表示が不適切

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008-12-10 11:34
kawabata  一人前 居住地: 群馬  投稿数: 86
こんにちは。
皆様のお力をお借りできれば幸いです。
よろしくお願いいたします。

マスタデータを一覧表示し、選択したデータをワークに移し、任意に情報を更新させ、該当するマスタデータを削除した上でワークの内容をマスタに書き込み、一覧表示の画面に戻ります。
この際、一覧表示の並び順が狂う、という現象に悩まされております。
環境は、MAGIC V7.1B2 + Btrieve 6.15 です。

プログラムの構成は下記のようになっております。


タスクA(オンライン):
 マスタのデータを一覧表示。
 一覧は、項目Xを第一キー、項目Yを第二キーとして並んでいます。
 一覧から任意の明細を選択させ、タスクBへ

タスクB(バッチ):
 選択した明細の項目Xと同じ値を持つレコードを抽出し、
 ワークファイルへ書き写す。
 タスクCへ

タスクC(オンライン):
 ワークファイルを一覧表示。
 ユーザーが任意に項目の修正が可能。
 レコードの削除や追加も許している。
 画面に配置した「キャンセル」ボタンをクリックした場合、
 ワークを廃棄し、マスタは更新せず、タスクAに戻る。
 「更新」ボタンを押した場合は、タスクDへ

タスクD(バッチ):
 タスクCで追加と削除を許している都合上、
 タスクBと同じ条件でマスタからレコードを削除。
 タスクEへ

タスクE(バッチ):
 ワークファイルの内容を、マスタファイルへ書き込み。
 タスクAへ戻る


この処理を実行し、タスクEからAに戻った際に、一覧の並び順が狂います。
更新対象となったレコードのみが、逆順に並んでしまいます。(処理されたレコードのみ項目Yが逆順で習います)

いろいろと試してみたところ、おそらくは、タスクDでマスタのレコードを削除していることが影響しているのではないか、という仮説にたどり着いております。
マジックおよびビートリーブのレコード削除に関する特性と私のプログラムの作りにミスマッチがあるのだと思うのですが、こういった動作について、詳しい方がいらっしゃいましたら、ご説明いただけると助かります。
よろしくお願いいたします。

補記:
・一旦プログラムを終えて再度実行すれば、適切な並びで表示されます。
・タスクEからAに戻った後、キーを切り替える、修正モードや照会モードに切り替えるなど、データを展開しなおすような動作も試みましたが、これらでは適切な並び順に戻ることはありませんでした。


長々と申し訳ございません。
なんらかの情報が得られれば幸いです。
投票数:0 平均点:0.00

投稿ツリー

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約