Последняя версия DataExpress 3 beta от 7 декабря 2019 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Песочница
ИзображениеИзображениеИзображение

Очистка таблицы при смене клиента

Все о том как сделать что-то с помощью скриптов.
mkv
Интересующийся
Сообщения: 164
Зарегистрирован: Чт май 05, 2016 7:34 pm
Откуда: Иваново

Очистка таблицы при смене клиента

Сообщение mkv » Чт мар 23, 2017 10:14 am

Как очистить таблицу (под клиентом) когда меняется поле "клиент"

что бы в заявку попадали только номера принадлежащие одному клиенту. сейчас при выборе, например, клиент1 - выбираю гос номер этого клиента, выбираю клиент2 - таблица не очищается. могу выбрать гос номер клиента2. и в таблице получаются номера, принадлежащие разным клиентам. хотя заявка принадлежит одному конкретному клиенту и номера в ней не должны перемешиваться

Как правильно очистить таблицу при смене клиента?
Вложения
Project_3.rar
(87.85 КБ) 57 скачиваний

jurist23rus
Эксперт
Сообщения: 2664
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп
Благодарил (а): 2 раза
Поблагодарили: 14 раз

Re: Очистка таблицы при смене клиента

Сообщение jurist23rus » Чт мар 23, 2017 11:20 am

Как правильно очистить таблицу при смене клиента?

Тут уже выражения не помогут. Такую задачу можно выполнить только скриптом.
Destiny is a very convenient word for those who never take decisions.

mkv
Интересующийся
Сообщения: 164
Зарегистрирован: Чт май 05, 2016 7:34 pm
Откуда: Иваново

Re: Очистка таблицы при смене клиента

Сообщение mkv » Чт мар 23, 2017 11:33 am

jurist23rus писал(а):
Как правильно очистить таблицу при смене клиента?

Тут уже выражения не помогут. Такую задачу можно выполнить только скриптом.

согласен
какое событие надо перехватывать в dxLookupComboBox и как очищать dxGrid?

jurist23rus
Эксперт
Сообщения: 2664
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп
Благодарил (а): 2 раза
Поблагодарили: 14 раз

Re: Очистка таблицы при смене клиента

Сообщение jurist23rus » Чт мар 23, 2017 11:59 am

Код: Выделить всё

procedure ClearTable;
begin
  If (Self.State <> dsInsert) and (Self.State <> dsEdit) and (Self.CanEdit = asOk) then Self.Edit;
  with self.forms['ЗаявкиСписок'] do
  begin
    while EOF <> true do delete;
  end
end;

procedure FieldChange (Sender, Control: TObject; const FieldName: String);
begin
  if FieldName = 'Клиент' then ClearTable;
end;


procedure Form_Create;
begin
self.OnFieldChange := @ FieldChange;
end 
Destiny is a very convenient word for those who never take decisions.

mkv
Интересующийся
Сообщения: 164
Зарегистрирован: Чт май 05, 2016 7:34 pm
Откуда: Иваново

Re: Очистка таблицы при смене клиента

Сообщение mkv » Чт мар 23, 2017 12:03 pm

jurist23rus, Вы снова выручили чайника. премного благодарен

jurist23rus
Эксперт
Сообщения: 2664
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп
Благодарил (а): 2 раза
Поблагодарили: 14 раз

Re: Очистка таблицы при смене клиента

Сообщение jurist23rus » Чт мар 23, 2017 12:13 pm

Код: Выделить всё

while EOF <> true do delete

Если будете делать что-то сами, то будьте осторожны с такими циклами для удаления записей :!:
Немного ошибётесь в параметрах и они быстро, качественно и, что самое главное, безвозвратно поудаляют вам много нужных и ценных вам записей :)
Destiny is a very convenient word for those who never take decisions.