Man_Without_Face
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору procedure TfrmMain.acAcceptExecute(Sender: TObject); var s: string; i: integer; ARowIndex: Integer; ARecordIndex: Integer; lok: integer; begin s := ''; with cxGridQDBTableView1.DataController do for I := 0 to GetSelectedCount - 1 do begin ARowIndex := GetSelectedRowIndex(I); ARecordIndex := GetRowInfo(ARowIndex).RecordIndex; if (GetSelectedCount - 1) = i then s := s + inttostr(Values[ARecordIndex, cxGridQDBTableView1ID.Index]) else s := s + inttostr(Values[ARecordIndex, cxGridQDBTableView1ID.Index]) + ','; end; lok := qQuestionnaires.FieldByName('ID').AsInteger; qTemp.SQL.Clear; qTemp.SQL.Text := 'update dba.Questionnaires c '+ 'set c.flag = 1 '+ 'where c.ID in (' + s +')'; qTemp.ExecSQL; qQuestionnaires.Close; qQuestionnaires.Open; qQuestionnaires.Locate('ID', lok, [loPartialKey]); qQuestionnaires.Next; end; |