Я не могу продублировать полученную вами ошибку 5400, но во фрагменте кода, который вы отправляете, достаточно вопросов, которые я собираюсь дать вам несколько общих рекомендаций.Без большего количества кода я не смогу сделать для вас намного лучше, чем Кен, но я дам вам кое-что попробовать.Я не могу сказать, используете ли вы ADSConnection или нет, но у вас будут проблемы, если вы этого не сделаете.Ваш оператор SQL должен быть изменен, как предлагает Кен.Это не работает иначе.Вы должны убедиться, что ваш ADSQuery соответствует типу таблицы, которую вы используете.
Тот факт, что я вижу DM1, может указывать на то, что вы делаете это в DLL?
Я думаю, хорошоновость заключается в том, что вы получаете странную ошибку, и двое из нас, кто пытался ее дублировать, могут выполнить то, что вы пытаетесь выполнить, без ошибки, внеся некоторые простые изменения.
В качестве дополнительного примечания выне нужно делать как активный, так и открытый.Когда вы открываете запрос, он становится активным или, если для Active установлено значение true, он открывает запрос.И, чисто стилистически, вам не нужны парены после методов, если нет параметров.Ни один из них не вызывает вашей проблемы (я бы поставил на проблему с ADSconnection), но только примечание.
Изменение кода, которое я внес в ваш оператор SQL, выглядит точно так же, как и в случае с Кеном.