Tfrxsqquery.locate

отредактировано 01:37 Раздел: FastReport 4.0
всем привет.
работаю с FR 4.3.68, frxSDComponents 4.2

в шаблоне имются две TFrxSDQuery, потом в коде нужно сделать Locate, делаю так
...
TFrxSDQuery1.LocateNext('ListItemID', TFrxSDQuery2.FieldByName('ListItemID').AsVariant, [])
...

возникает ошибка:
Raised exception class EVariantTypeCastError with vessage 'Could not convert variant of type (Array Variant) into type (Integer)'.

в полях 'ListItemID' обоих кверин содержатся GUID, запросы проверены в SQL Query Analyzer, ни каких значений типа Integer там нет...
может кто сталкивался с такой проблемой? помогите, пожалуйса, написать этот LocateNext ( или Locate)///

Комментарии

  • отредактировано 01:37
    Marionka написал: »
    ...
    TFrxSDQuery1.LocateNext('ListItemID', TFrxSDQuery2.FieldByName('ListItemID').AsVariant, [])
    ...
    

    ни чего не получается с этим Locate... сделала цикл While по TFrxSDQuery1, все работает и ни какой ошибки....
    может я что-то не так делаю с этим Locate, подскажите пожалуйста...
  • Stalker4Stalker4 123
    отредактировано 01:37
    Marionka написал: »
    ни чего не получается с этим Locate... сделала цикл While по TFrxSDQuery1, все работает и ни какой ошибки....
    может я что-то не так делаю с этим Locate, подскажите пожалуйста...
    В твоём примере надо вместо [], поставить 0.
    А вообще почитай документацию по FR и FS, как они работают с множествами.
  • отредактировано 01:37
    Stalker4 написал: »
    В твоём примере надо вместо [], поставить 0.
    ....
    Спасибо за подсказку....
    Stalker4 написал: »
    ....
    А вообще почитай документацию по FR и FS, как они работают с множествами.

    хороший ответ... думаю если люди задают здесь вопросы значит они все-таки поискали и не нашли, вот и спрашивают совета....сейчас могу открыть любой вопрос на форуме и написать "читай документацию...."

    в общем Locate выглядит так:
    ........
      TFrxSDQuery1.Query.Locate('ListItemID',  TFrxSDQuery2.FieldByName('ListItemID').AsString , 0);
    ........
    



  • gpigpi
    отредактировано 01:37
    написал:
    хороший ответ... думаю если люди задают здесь вопросы значит они все-таки поискали и не нашли, вот и спрашивают совета....сейчас могу открыть любой вопрос на форуме и написать "читай документацию...."
    http://ns.fast-report.com/ru/faq/faq.php?ID=393
    написал:
    Вопрос: В скрипте пытаюсь установить границы у Memo: Memo1.Frame.Typ := [ftLeft, ftRight, ftTop, ftBottom]. Получаю ошибку.
    Ответ
    Скрипт Fast Report не поддерживает множества. Нужно делать так:
    Memo1.Frame.Typ := ftLeft + ftRight + ftTop + ftBottom;

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

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