delphi.gif (306 バイト) レコードを並び替えるには


レコードを並び替えるにはインデックスを使います。インデックスはTableコンポーネントのAddIndexメソッドによって追加します。
インデックスの使い方は、データベースの種類により異なります。Paradoxの場合、

という条件があります。

toach.gif (917 バイト)インデックスを追加するには
インデックスはテーブルを構築するときに付加します。つぎにその例を示します。

delphi1.gif (322 バイト) 

{ テーブルを作成 }
procedure TForm1.Button1Click(Sender: TObject);
var
    Table1: TTable;
begin
  Table1 := TTable.Create(Self); // テーブルを動的に構築
  with Table1 do
  begin
    try
      DatabaseName := 'WorkDir';
      TableType := ttParadox;
      TableName := Edit1.Text;
      with FieldDefs do
      begin
        Clear;
        Add('Number', ftInteger, 0, True);
        Add('Name', ftString, 20, True);
        Add('Age', ftInteger, 0, True);
      end;
      CreateTable;
      AddIndex('', 'Number', [ixPrimary]);
      AddIndex('Age', 'Age', []);
    finally
      Free; // Tableの解放
    end;
  end;
end;

toach.gif (917 バイト)二次インデックスでソートするには
 二次インデックスが追加されたTableコンポーネントのIndexNameをオブジェクトインスペクタでクリックすると、二次インデックスの名前がドロップダウンリストに表示されるので、適切な二次インデックスを選んでおきます。
 プログラムでテーブルを開くと(Openメソッドなど)、そのインデックスで指定した順でテーブルの内容が表示できます。