Показать сообщение отдельно
  #2  
Старый 31.08.2018, 19:01
Аватар для Guaho
Guaho Guaho вне форума
Начинающий
 
Регистрация: 27.08.2017
Сообщения: 173
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Совершенно непонятно, зачем все эти фокусы с символом "#". Ничто ведь не мешает перекидывать данные как есть, без дополнительных символов.
Сделайте логическое (Boolean) поле вместо этой "решётки", с ней лишний гемор.
Выделить записи по любому признаку проще всего с помощью свойств Filter/Filtered. Например, если Вы создадите Boolean-поле new_order, то для фильтрации набора данных по состоянию этого поля нужно написать (в Вашем случае в обработчике Button1):
Код:
zakaz.Filter := 'new_order = true';
zakaz.Filtered := true;
В этом примере после выполнения фильтрации в наборе данных останутся только те записи, у которых содержимое поля new_order = true ("флажок" установлен).
Если фильтровать по символам ("#" или другим) внутри поля, то тут зависит от механизма. Я работал с Access через ADO, и честно говоря уже не помню все нюансы, но кажется мне, что для таких случаев свойство Filter недостаточно функционально (могу и ошибаться). Такого рода фильтрацию я делал, используя компоненты TQuery + динамически формируемый SQL-запрос.
Так что, повторюсь, символами в полях вот так выделять записи - плохой тон, лишняя работа. Такие вещи делаются с использование Boolean-полей. Если таблицы полностью идентичны - то вообще нет проблем при переброске данных. Кстати, ещё один метод выделения новых записей - два поля, оба типа DateTime: дата создания записи (записывается в событии AfterInsert) и дата последней правки (в BeforePost). Перекинули данные, потом сортировкой по полям даты/времени легко нашли нужные записи.
Ответить с цитированием