Передача строк в переменные отчета

отредактировано 18:04 Раздел: FastReport 3.0
В коде программы есть вот такая строка:
rptMovement.Variables['ConnectionString'] := data.ADOConnection1.ConnectionString;

При попытке ее заюзать внутри отчета


AdoDatabase1.Connected := false;
AdoDatabase1.DatabaseName := Get('ConnectionString');
AdoDatabase1.Connected := true;

выскакивает сообщение об ошибке "Identifier expected". В чем грабли?

Комментарии

  • gpigpi
    отредактировано 18:04
    А сама переменная ConnectionString в отчёте описана?
  • отредактировано November 2006
    Ну да, есть она.
    А! Чуть не забыл. Вот это присвоение
    AdoDatabase1.Connected := false;
    AdoDatabase1.DatabaseName := Get('ConnectionString');
    AdoDatabase1.Connected := true;
    

    идет в OnStartReport. Может, сами переменные тогда еще не инициализированы?
  • отредактировано 18:04
    написал:
    В коде программы есть вот такая строка:
    rptMovement.Variables['ConnectionString'] := data.ADOConnection1.ConnectionString;
    
    Напиши
    rptMovement.Variables['ConnectionString'] := data.ADOConnection1.ConnectionString + '#10#13';
    
  • отредактировано 18:04
    Нет, не работает, то же самое сообщение
  • gpigpi
    отредактировано 18:04
    Какая версия FR?
  • отредактировано 18:04
    эээ.... Судя по заголовку форума, третья ;) А еще точнее - 3.23.7
  • gpigpi
    отредактировано 18:04
    Должно работать. Тестовый пример сделать можете?
  • отредактировано 18:04
    написал:
    В коде программы есть вот такая строка:
    rptMovement.Variables['ConnectionString'] := data.ADOConnection1.ConnectionString;
    
    Попробуйте следущим образом:
    rptMovement.Variables['ConnectionString'] := '''' + data.ADOConnection1.ConnectionString + '''';
    
  • отредактировано 18:04
    Свершилось чудо! Друг спас жизнь друга! ;)
    Спасибо, заработало
  • отредактировано 18:04
    написал:
    Свершилось чудо
    Ковычки помогли?
  • отредактировано 18:04
    Угумс. Спасибо.
  • отредактировано 18:04
    Примерно по той же теме.

    Вчера обнаружил совсем уж странную вещь. В отчете есть AdoDatabase и пара запросов. В OnStartReport я присваиваю ConnectionString, после чего открываю коннект. Тут как бы все в порядке. Проблема возникает в другом. Когда я запускаю проект под дебагом и создаю отчет, перед выводом отчета получаю вот такое сообщение:

    [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    

    и иногда выдает невозможность найти поля с такими-то именами, после чего либо открывает готовый отчет, либо показывает пустую страницу (а данные есть, я уверен). Вот это "иногда" хрен знает от чего зависит.
    Причем, если уже скомпиленная программа запускается обычным способом, то все работает нормально, без ошибок.
    Кто-нибудь сталкивался с такой бедой?
  • отредактировано 18:04
    написал:
    Кто-нибудь сталкивался с такой бедой?
    ;)
    Да уж...
    Тема "ConnectionString Срочно..."

    Проблему никак не решил, т.к. в проге все работает, а зказчику более ничего не надо.

    Видимо, очередной глюк фастрепорта.

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

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