Почему видна только DefaultDatabase?

отредактировано 10:48 Раздел: FastReport 3.0
В FastReport 2.53 при создании автономных отчетов свойство Database у компонента TfrIBXQuery содержало выпадающий список всех компонентов типа TIBDatabase, которые были в проекте Delphi.

В FastReport 3 (ограниченная версия) я кладу на форму компонент TfrxIBXQuery и в свойстве Database могу задать только тот компонент TIBDatabase из проекта, который указан как DefaultDatabase для компонента TfrxIBXComponents.

То же самое для ADO и DBX.

Это недоработка, или так и задумано, или может это только в демо-версии?

Комментарии

  • отредактировано 10:48
    Так задумано. В большинстве случаев в проекте только одна база.
  • отредактировано 10:48
    А как быть, если их несколько? И по всем нужны автономные отчеты. Подскажите, пожалуйста.
  • отредактировано 10:48
    Посмотри реализацию
    для фибов.
    там есть отдельный компонент Базы и транзакции.
    По Аналогии можешь сделать для ИВХ
  • отредактировано 10:48
    Я считаю, что это неправильно, когда видна только база прописанная в Database.
    У меня несколько баз DBF до этого пользовался версией 2.44 при построении отчета в runtime видны были все базы, поставил 3 фастрепорт и теперь незнаю как быть, хоть выкладывай компоненты frxDBDataset по количеству баз.
  • отредактировано 10:48
    Это немного не то: TfrxDBDataSet - это необходимый компонент, через который идет доступ к таблице. На каждую таблицу/запрос, который лежит в проекте и к которому надо обращаться в отчете, необходимо цеплять TfrxDBDataSet.
    Если нужно несколько баз в отчете - пожалуйста, пользуйте компонентами типа TfrxBDEDatabase.
  • отредактировано 10:48
    AlexTZ написал:
    Если нужно несколько баз в отчете - пожалуйста, пользуйте компонентами типа TfrxBDEDatabase.
    Дак ведь это неудобно объявлять в отчете базы, которые уже снаружи объявлены. Кроме того для IBX или DBX ещё надо параметры для соединения передавать из главной программы, если они могут быть изменены в процессе работы программы.
    Для себя то я сделал така как мне надо было, но большиство как я понял предпочитает пользоваться готовыми решениями, которых пока нет.
  • отредактировано 10:48
    У меня вопрос к AlexTZ.

    Скажите, пожалуйста, чем было вызвано изменение выбора свойства Database у frxXXXQuery при переходе от FR 2.53 к FR 3, и как можно было бы переписать движки, чтобы в этом свойстве видеть все Databases проекта?
    Не планируете ли сделать это в следующих версиях?

    Потребность такая очень велика: у меня в проектах зачастую несколько компонентов XXXDatabase со своими свойствами подключений, которые надо воспроизводить в дизайнере у компонентов TfrxXXXDatabase через переданные переменные, что очень неудобно. Все отчеты автономные, сооружаются после создания exe-файла приложения.

    Будь это сделано, я бы не задумываясь купил FastReport 3, а так - пока смотрю демо-версию.
  • Stalker4Stalker4 123
    отредактировано November 2004
    2Sergey_K

    На самом деле ни каких проблем с подключением frxXXXQuery к любому числу внешних TXXXDataBase нет.
    Все решается отностиельно не сложно.
    Посмотри мой движок frxASAComponent, там как раз это и реализовано.
    Взять его можно в бинарном разделе русской конфы.
    Так же можешь посмотреть frxSDComponent, он тоже без проблем подключается к любому числу внешних TXXXDataBase.
    Взять его можно в бинарном разделе русской конфы.

    P.S.
    А что ты используешь для работы с БД ?
  • отредактировано 10:48
    Спасибо, посмотрю. У меня FIBPlus 5.2 для Interbase/Firebird и ADO для MSAccess
  • отредактировано 10:48
    Тяни последние фибы от 25 там все это уже есть.
  • отредактировано 10:48
    Огромное спасибо Konst и Stalker4, а также дай Бог здоровья AlexTZ и его замечательному продукту. Все работает.
  • отредактировано 10:48
    AlexTZ написал:
    Так задумано. В большинстве случаев в проекте только одна база.
    Возможно в большинстве и так. Но есть исключения и их тоже не мало. Да и если одна, давайте представим как нужно действовать. При входе в программу производится коннект к базе в соответствии с настройкми программы. В программе нужно запускать отчеты из открытой при входе базы. Путь к этой базе со временем может меняться. Больше того, программа допускает переключение между базами. Вы предлагаете, каждый раз перед запуском отчета пользователем, редактировать отчет на предмет установки корректного пути к базе в компоненте TDBXDataBase. Компоненты TDXQuery и.т.п безусловно должны иметь возможность установки свойства Database на уже открытую программой БД. Так как это было в пред. версиях вашего продукта. Собственно именно для таких целей он и был приобретен. Просьба, указать пути решения данной проблемы.
  • отредактировано 10:48
    Кидаешь рядом с frxReport компонентик frxXXXComponents. Настраиваешь на свою базу. В отчете никаких XXXDatabase кидать не надо. У компонентов свойство Database оставляешь пустым. И все будет как надо.
    Неочевидное решение, сам был удивлен. Кстати про это писалось ниже по форуму.
  • отредактировано December 2004
    Stranger написал:
    Кидаешь рядом с frxReport компонентик frxXXXComponents. Настраиваешь на свою базу. В отчете никаких XXXDatabase кидать не надо. У компонентов свойство Database оставляешь пустым. И все будет как надо.
    Неочевидное решение, сам был удивлен. Кстати про это писалось ниже по форуму.
    Плохое решение, а если у тебя в проэкте несколько баз?
    Какое соединение будет работать?

    To lumpen
    для тебя всё же будет лучший выход адаптировать для своих нужд существующие комоненты для DBX.

    или могу кинуть свой вариант. После бросания frxDBXComponents на форму в отчете становятся доступны все соединения находящиеся на форме (можно переделать что будут видны все доступные и на других формах). Правда DefaultDataBase у меня перестал работать, да он мне и не нужен в этом случае.
  • отредактировано December 2004
    Markus написал:
    Плохое решение, а если у тебя в проэкте несколько баз?
    Он про одну спрашивал.
    Markus написал:
    Какое соединение будет работать?
    Какое настроешь такое и будет работать.

    А под себя переделывать неблагодарное дело - только этим и будешь заниматься...
  • отредактировано 10:48
    Stranger написал:
    А под себя переделывать неблагодарное дело - только этим и будешь заниматься...
    А ждать у моря погоды, можно до скончания веков.

    Я для себя переделал и вполне доволен, стандартный теперь даже не использую :-) Вот ещё собираюсь приделать ClientDataSet чтобы можно было бидирекшинал получить, а то видите-ли группировочные отчеты без этого не могут :-(

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

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