Как использовать редактор запросов Active Query Builder в дизайнере отчетов FastReport .NET

28.05.2018

FastReport .NET предоставляет достаточно возможностей кастомизации своего дизайнера отчетов.

В этой статье мы рассмотрим, как подменить встроенный редактор SQL запросов на Active Query Builder.

  1. Для начала необходимо скачать последнюю версию Active Query Builder для .NET с сайта разработчика http://www.activequerybuilder.com/. На момент выхода статьи это версия 3.4.9.1086. Устанавливаем библиотеку с помощь скачанного инсталлятора.
  2. Для демонстрации создадим приложение WindowsForms. Добавляем в проект ссылки на библиотеки Active Query Builder. Потребуются следующие библиотеки, которые вы найдете в папке с установленной программой (C:\Program Files\ActiveDBSoft\Active Query Builder 3 .NET\assemblies):
  • ActiveQueryBuilder.AdvantageMetadataProvider;
  • ActiveQueryBuilder.Core;
  • ActiveQueryBuilder.DB2MetadataProvider;
  • ActiveQueryBuilder.FirebirdMetadataProvider;
  • ActiveQueryBuilder.MSSQLCEMetadataProvider;
  • ActiveQueryBuilder.InformixMetadataProvider;
  • ActiveQueryBuilder.MSSQLMetadataProvider;
  • ActiveQueryBuilder.MySQLMetadataProvider;
  • ActiveQueryBuilder.ODBCMetadataProvider;
  • ActiveQueryBuilder.OLEDBMetadataProvider;
  • ActiveQueryBuilder.OracleMetadataProvider;
  • ActiveQueryBuilder.OracleNativeMetadataProvider;
  • ActiveQueryBuilder.PostgreSQLMetadataProvider;
  • ActiveQueryBuilder.SQLiteMetadataProvider;
  • ActiveQueryBuilder.SybaseMetadataProvider;
  • ActiveQueryBuilder.UniversalMetadataProvider;
  • ActiveQueryBuilder.View;
  • ActiveQueryBuilder.View.WinForms;
  • ActiveQueryBuilder.View.WPF;
  • ActiveQueryBuilder.VistaDB5MetadataProvider.

Также, потребуется библиотеки:

  • FastReport;
  • FastReport.Bars;
  • FastReport.Editor.

А теперь добавим в проект файл – плагин для работы с ActiveQueryBuilder. Он расположен тут: J:\Program Files (x86)\FastReports\FastReport.Net\Extras\Misc\ActiveQueryBuilder\ActiveQBForm.cs.

Чтобы сделать это, делаем правый клик по названию проекта в Solution Explorer и выбираем Add -> Existing Item….

Так как приложение у нас демонстрационное, то форма будет содержать всего одну кнопку:

 

А теперь создаем обработчик события нажатия кнопки с помощью двойного клика по ней:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using FastReport.Forms;
using FastReport.Design;
using FastReport;

private void button1_Click(object sender, EventArgs e)
 {
 Report report = new Report();
 FastReport.Utils.Config.DesignerSettings.CustomQueryBuilder += new FastReport.Design.CustomQueryBuilderEventHandler(DesignerSettings_CustomQueryBuilder);
 report.Design();
 }
 
 private void DesignerSettings_CustomQueryBuilder(object sender, CustomQueryBuilderEventArgs e)
 {
 using (ActiveQBForm form = new ActiveQBForm())
 {
 form.Connection = e.Connection;
 form.SQL = e.SQL;
 if (form.ShowDialog() == DialogResult.OK)
 e.SQL = form.SQL;
 }
 }

 По нажатии кнопки создается объект отчета, затем переопределяется обработчик вызова построителя отчета. И вызываем дизайнер отчета.

Ниже мы создали пользовательский обработчик вызова построителя отчетов. Как видите, мы просто вызываем добавленный ранее в проект объект ActiveQBForm.

А теперь запустим приложение. Нажмем единственную кнопку, и увидим дизайнер отчетов. Если вы хотите редактировать существующий отчет, то после создания объекта Report нужно загрузить в него отчет: report.Load("С:/Program Files (x86)/FastReports/FastReport.Net/Demos/Reports/Image.frx");

Теперь добавим в отчет источник данных с помощью иконки:

 

Нам необходимо создать подключение к субд поддерживающей язык SQL, чтобы в дальнейшем воспользоваться построителем SQL запросов. Например, подключаемся к базе данных Access.

На следующем шаге мастера создания нового источника данных нам предлагается выбрать нужные нам таблицы из базы.

 

Но в правом нижнем углу есть кнопка “Add SQL query…”, которая запускает мастер создания запроса. На первом шаге создания запроса нужно задать имя для нового представления, которое получится в результате применения создаваемого нами запроса.

 

А на втором шаге мы можем вручную ввести текст SQL запроса.

 

Однако, в правом нижнем углу мы видим кнопку “Query Builder…” которая запустит построитель отчетов. Нажимаем ее:

 

И видим созданный нами на основе ActiveQueryBuilder построитель отчетов. Чтобы добавить таблицу в рабочую область, нужно перетащить ее мышью из области данных справа. Либо сделать правый клик по рабочей области построителя и из контекстного меню выбрать «Добавить»:

 

И зажав Ctrl выбираем нужные таблицы из базы:

 

После, нажимаем кнопку “Add Selected Objects” и видим связанные таблицы в построителе:

 

Внизу окна мы можем увидеть автоматически созданный текст SQL запроса. А на вкладке Result – результат выполнения запроса. Допустим, нас устраивает созданный запрос. Чтобы принять его нажимаем на зеленый значок вверху окна. Для отмены – красный значок.

В мастер запроса передается текст SQL запроса, который мы создали в построителе:

 

Завершаем создание запроса нажимая кнопку Next, а в конце Finish. Таким же образом завершаем создание источника данных.

Теперь в дизайнере отчета появился источник данных:

 

Таким образом мы использовали плагин для замены стандартного построителя SQL запросов.

.NET FastReport .NET FastReport
10 июля 2026

Как настроить Content Security Policy для отчетов FastReport .NET WEB

Узнайте, как настроить Content Security Policy для отчётов FastReport .NET WEB: обзор директив и значений CSP, изменения в архитектуре FastReport, типичные сценарии обхода и способы защиты.
22 июня 2026

Как настроить отчет с Business Objects из кода и дизайнера в FastReport .NET

В этой статье рассматривается реальный пример создания и использования шаблона отчета .frx для подключения к иерархическим бизнес-объектам в FastReport .NET.
21 апреля 2026

Использование водяных знаков в FastReport VCL

В статье подробно рассмотрели функционал добавления водяных знаков в FastReport VCL — как через визуальный интерфейс, так и программно, с помощью кода на Delphi и в скриптах отчётов.

Не является публичной офертой
© 1998-2026 ООО «Быстрые отчеты»