1 返信 最新の回答 日時: Jun 4, 2017 12:32 AM ユーザー:shin

    レコードのインポート時の重複処理

    takara-mmg

      掲題のとおりですが、レコードをインポートしたと同時に重複したレコードを識別したいと思っています。

       

      そこで、

       

      キーとなるフィールドを自己リレーションで結び、オリジナルのテーブルには以下のような重複チェック用のフィールドを作成しました。

       

      case(Aフィールド=Aフィールド2 ; "1";"0")

       

      レコードをひとつづつ新規作成してテストするとオリジナル(最初のレコード)には"0"、重複(二つ目からのレコード)には、"1"と入り、希望通り動作してくれますが、インポートとなるとうまく動作してくれません。

       

      ※ちなみに重複チェック用のフィールドは、テキストフィールドの"計算値の自動入力"で上記計算式の設定をしています。

       計算フィールドにすると非保存になってしまいオリジナル(最初のレコード)まで"1"と入ってしまいます。

       

      なにか良い方法はありますでしょうか。

       

      ご教示いただけますと幸いです。

      よろしくお願いいたします。

        • 1. Re: レコードのインポート時の重複処理
          shin

          インポートするものを、別テーブルに仮インポートします。

          そのテーブルをインポートされるテーブルとリレーションを張り、インポートされるテーブルから関連レコードへ移動を行います。それが、重複しているレコードです。

          対象外のレコードを表示、を行って、インポート。対象レコードを削除します。重複レコードだけが残ります。

           

          重複しているレコードを識別後、何をするのかによって、この後の処理は変わります。

           

          単に上書きが出来れば良い、という事でしたら、照合フィールドを設定して、インポートすれば良いだけですが。