掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ClientDataSet上のGroup By化 (ID:28417)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
むくさん返信ありがとうございます。 >DISTINCTではダメですか? 今回のケースでは「TClientDataSet1」のデータから「TClientDataSet2」に 絞り込んで表示するため、「TClientDataSet1」の時点で重複レコードを 削除しないのです。 (Delphi上に「DISTINCT」が存在するか調べてみたのですが、見つから なかったのででSQLの「DISTINCT」としてです。) Ruさんの案1の方法より簡単に目的の動作をすることが出来たのでコードを 載せておきます。 (載せたコードは実行して試してみてはないので予想していないエラーが 発生してしまう可能性ありですが。) -------------------------------------------------------------------- (Field1 : String;) with ClientDataSet1 do begin Open; First; Field1 := FieldByName('Field1').AsString; Next; //2行目からループスタート while not Eof do begin //同じ工程の時 if Field1 = FieldByName('Field1').AsString then begin Prior; //Deleteで最後のレコードになった時、Eofプロパティが //Trueにならないため Delete; end else Field1 := FieldByName('Field1').AsString; Next; end; //先頭行を選択しておく First; end; -------------------------------------------------------------------- 貴重な時間を割いて考えてくださったRuさん、むくさんありがとうございました
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.