Показать сообщение отдельно
  #10  
Старый 27.07.2019, 16:02
Zerg06969_ Zerg06969_ вне форума
Прохожий
 
Регистрация: 13.08.2017
Сообщения: 1
Версия Delphi: xe 7
Репутация: 10
По умолчанию Примерный ответ на первый вопрос

Код:
var
DS : TDataSource;

procedure TForm1.DBGrid1Enter(Sender: TObject);
begin
DS := DataSource1;
end;

procedure TForm1.DBGrid2Enter(Sender: TObject);
begin
DS := DataSource2;
Table1.Refresh;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
  begin
    if DS = DataSource1 then //Если активно DBGrid1
      begin
      if Table2.RecordCount <> 0 then
      if MessageDlg('Удалить все записи из таблицы Table1 и Table2?',mtCustom,[mbYes,mbNo],0)  = mrNo then exit
        else
          begin
            Table2.First; // Установка позиции курсора на начало таблицы Table2
              for i := 1 to Table2.RecordCount do Table2.Delete; //цикл удаления всех записей в дочерней Table2
          end;
      if Table1.RecordCount <> 0 then Table1.Delete; // Далее удаление записи в главной Table1
      end
else //иначе удаляем выделенную запись из таблицы Table2
    if DS = DataSource2 then //Если активно DBGrid2
    begin
    if Table2.RecordCount <> 0 then
    if MessageDlg('Удалить выделенную запись из таблицы Table2?',mtCustom,[mbYes,mbNo],0)  = mrNo then exit
    else
     Table2.Delete;
    end;

lmikle: Пользуемся тегами.
Ответить с цитированием