Ну это наверное скорее предложение будет, по улучшению.
Есть таблица оборудования (Equipment). Для неё есть фильтр с гридом. Пользователь с помощью фильтра находит нужное оборудование и добавляет его ID в другую таблицу (MovingEquipment). Затем находит следующее оборудование и опять добавляет его ID в таблицу MovingEquipment, после чего заполняет таблицу InfoMoving, в которой указывается дата перемещения, кому перемещается и прочая инфа. В таблице MovingEquipment ещё будет храниться ID записи из таблицы InfoMoving.
В принципе то, всё с помощью обычного функционала работает нормально: я создаю таблицу Equipment, фильтр, грид для неё, кнопку для сохранения ID в таблице MovingEquipment и функционал для таблицы InfoMoving.
А теперь такой момент.
Если всё нужно отменить,, можно создать кнопку "Отменить" и сделать так, чтобы при нажатии на неё все внесённые данные удалились. Для этого придётся писать скрипт, который будет вычислять, что там последним вносилось в таблицу MovingEquipment и InfoMoving. А если пользователь просто закрыл форму не нажав кнопку "Сохранить", то можно привязать событие к закрытию формы, которое кликнет на кнопку отмены. В реализации очень громоздко и неудобно да ещё и ради не очень то нужной мелочи, ладно если ещё для 2-х таблиц, а с 3-мя связываться уже гарантированно никто не станет. А если бы были временные таблицы, создающиеся для конкретной операции, то всё было бы на много проще. Запихал данные во временные таблицы и после нажатия кнопки "Сохранить" выгрузил все данные из них в постоянные таблицы. Всё!
Конечно всё и сейчас можно реализовать. Текущий функционал программы позволяет. Но ещё раз повторюсь, слишком громоздкая реализация такой функции.