Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 85 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2022, 05:14   #1
НаталинаПр
Новичок
Джуниор
 
Регистрация: 21.11.2022
Сообщений: 2
Радость Обновить таблицу ADO

Здравствуйте. Из-за невнимательности засунула свой первый вопрос в раздел с Python вместо Delphi

Ещё раз: я делаю ис библиотеку. По нажатию кнопки я принимаю книгу и у меня высвечивается сообщение "книга принята", но запись о об этой принятой книге остаётся в табличке, а мне нужно, чтобы она удалялась после нажатия кнопки/сообщения "книга принята". Подозреваю, что надо это сделать как
Код:
Form1.ADOCop.Refresh
или
Код:
if Form10.ADOCop.FieldByName('Нал').AsBoolean = trrue then
Form1.ADOCopies.Refresh
Сам код:
Код:
procedure TForm3.ButtonVZClick(Sender: TObject);
var IN:string; i,K:integer;
 begin
  IN:= DBGridCopy.DataSource.DataSet.Fields.Fields[0].Value;
  K:= DBGridR.DataSource.DataSet.Fields.Fields[0].Value;
  Form10.ADOCop.Open;
  Form10.ADOCop.First;
  for i:=1 to Form10.ADOCop.RecordCount do
    begin
     if Form10.ADOCop.FieldByName('Инвент_н').AsString = IN then
     begin
       if Form10.ADOCop.FieldByName('Нал').AsBoolean = false then
         begin
           if Form10.ADOCop.FieldByName('Код_чит').AsInteger= K then
            begin
              Form10.ADOCop.Edit;
              Form10.ADOCop.FieldByName('Наличие').AsBoolean:= true;
              Form10.ADOCop.FieldByName('Дата_возврата').AsDateTime:= Date;
              Form10.ADOCop.FieldByName('Код_читателя').Text:= '';
              Form10.ADOCop.Post;
              ShowMessage('Книга принята');
            end
            else ShowMessage('у этого человека нет книги.');

          end
          else ShowMessage('экземпляр не выдан');
         end
     else
         Form10.ADOCop.Next;

    end;
      Form10.ADOCop.Close;
      ADOQueryR.Active:= true;
Помогите,пожалуйста
НаталинаПр вне форума Ответить с цитированием
Старый 22.11.2022, 09:28   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,442
По умолчанию

Цитата:
Код:
      Form10.ADOCop.Close;
      ADOQueryR.Active:= true;
чтобы получить обновленное (после записи возврата) состояние НД (DataSet)надо cначала его закрыть (и потом снова открыть) или использовать Refresh(ReQuery)
https://programmersforum.ru/showthre...hlight=requery
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме 85 тыс рублей в месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите пожалуйста (Организовать таблицу как хэш – таблицу) Владимир123321 C# (си шарп) 0 23.09.2013 14:44
Добавление записи в таблицу через таблицу Anton911 БД в Delphi 0 14.05.2012 11:51
Объединить таблицу access и таблицу paradoxa в таблицу access GROSS777 БД в Delphi 1 09.02.2012 14:58
Не могу обновить таблицу MDmitry PHP 4 27.12.2009 12:19
обновить сводную таблицу? Bezdar Microsoft Office Excel 1 10.04.2009 15:45