Пробував двома варіантами сортувати але обидва щось непрацюють.
Першим пробував через DBGrid>TitleClick
procedure TMainForm.LangGrTitleClick(Column: TColumn);
Var
  f:string;
begin
  if DBGrid.DataSource.DataSet.FieldByName(Column.FieldName).Tag=0 then
   begin
    f :=' ASC';
    DBGrid1.DataSource.DataSet.FieldByName(Column.FieldName).Tag := 1;
   end
  else
   begin
    f :=' DESC';
    DBGrid1.DataSource.DataSet.FieldByName(Column.FieldName).Tag := 0;
   end;
 DBGrid1.DataSource.DataSet.Sort:=Column.FieldName + f;
end;
Помилка виходить тут(виділена червоним) DBGrid1.DataSource.DataSet.Sort:=Column.FieldName + f;
Другий варіант у мене такий:
procedure TSortForm.SaveBtClick(Sender: TObject);
var
  ParamSort: String;
begin
  If RadioButton1.Checked then
    begin
      ParamSort:=' ASC'
    end;
  If RadioButton2.Checked then
    begin
      ParamSort:=' DESC'
    end; 
  If ComboBox1.ItemIndex=0 then
    begin
      MainForm.DBGrid1.DataSource.DataSet.IndexFieldNames:='ID'+ParamSort;
    end;   
  If ComboBox1.ItemIndex=1 then
    begin
      MainForm.DBGrid1.DataSource.DataSet.IndexFieldNames:='Foreign'+ParamSort;
    end;
  If ComboBox1.ItemIndex=2 then
    begin
      MainForm.DBGrid1.DataSource.DataSet.IndexFieldNames:='Ukrainian'+ParamSort;
    end;
end;
У другому варіанті помилку вибиває тут:-"IndexFieldNames"
Хоча якщо другий варіант спростити так як нище то працює відмінно.
procedure TSortForm.SaveBtClick(Sender: TObject);
var
  ParamSort: String;
begin
  If RadioButton1.Checked then
    begin
      ParamSort:=' ASC'
    end;
  If RadioButton2.Checked then
    begin
      ParamSort:=' DESC'
    end; 
  If ComboBox1.ItemIndex=0 then
    begin
      RiderForm.ADOTable1.IndexFieldNames:='ID'+ParamSort;
    end;   
  If ComboBox1.ItemIndex=1 then
    begin
      RiderForm.ADOTable1.IndexFieldNames:='Foreign'+ParamSort;
    end;
  If ComboBox1.ItemIndex=2 then
    begin
      RiderForm.ADOTable1.IndexFieldNames:='Ukrainian'+ParamSort;
    end;
end;
Може хтось підкаже в чому моя помилка буду дуже вдячний.