Вводимые пользователем параметры в Adoquery

отредактировано 23:31 Раздел: FastReport Studio
Пробую задать интервал отчета с помощью календаря в диалоговом окне. База Access, выбиарю из нее данные с помощью ADOQuery. При забытых в запрос константах времени все работает нормально, но подсунуть ему даты выбранную пользователем не получается.
Пробовал добавить данные так:
WHERE (datetime Between CDate("[DateEdit1.Date]") And CDate("[DateEdit2.Date]"))
Но запрос ругается на несоответствие типов данных. Пытался обойти это с помощью создания переменных, куда сохранял уже приведенные к тексту даты (с помощью DateToStr() ), но получал ту-же ошибку.
Чувствую что есть какое-то простое решение, ведь задача тривиальная, но никак его найти не могу, в примерах тоже подобного не нашел. Подскажите как решить эту задачу?

Комментарии

  • отредактировано June 2010
    Параметры в ADOQuery передаются следующим образом:
    1. Текст запроса:
    select * from customer where LastInvoiceDate between :param1 and :param2
    
    перед именем параметра ставится :
    2. В ADOQuery.Params задается тип каждого параметра и его значение. В данном случае тип String поэтому значение нужно указывать в одинарных кавычках.

    Пример отчета
  • отредактировано 23:31
    Спасибо за помощь, странно что в UserManual об этом нет ни слова...
    Но тут сразу возникает второй вопрос - как добавить кавычки, если текст берется из диалога (в моем случае DtaeEdit1.Date)?
  • отредактировано 23:31
    Проблем решилась по другому - насколько я понял она в таком виде вообще не решаема, пришлось строку запроса динамически генерировать в коде.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.