Active Query Builder

March 17, 2010

Active Query Builder VCL and ActiveX Editions 1.15 released

We're glad to announce the new minor version of Active Query Builder. You can download the newest version from the download page.

What's new in the Active Query Builder version 1.15?

  • General improvements:
    • New feature: Virtual database objects and fields. It allows to hide complex expressions and sub-queries behind ordinary fields and save derived tables as ordinary database objects. See the Virtual Objects And Fields source code sample for demonstration and details. See below to find the corresponding API improvements for VCL and ActiveX Edition.
    • Now it's possible to add Common Table Expressions visually using the context menu item of the query building area.
    • Wheel scrolling in field lists is made.
    • Spanish and russian translations are updated.
  • SQL Syntax fixes and improvements:
    • MS SQL Server, Sybase: Support of the old-style TransactSQL outer join operators ("*=" and "*=") is made.
    • Firebird: Predefined context variables are supported now: CURRENT_DATE, CURRENT_TIME and CURRENT_TIMESTAMP.
    • Firebird: "IS DISTINCT FROM" operator is supported now.
    • Firebird: Parameter names can use the '#' symbols now.
    • MySQL: Better support of CONVERT function is made.
    • PostgreSQL, DB2: Metadata filtration is fixed.
    • PostgreSQL: The list of unifying operators is fixed.
    • Sybase ASE: Metadata relations loading is fixed now.
    • MS Access: Bug with unsupported FULL OUTER JOIN is fixed.
  • VCL Edition API improvements:
    • New properties are added to support virtual database objects and fields:
      TacMetadataField.Expression and TacMetadataObject.Expression (WideString).
      TacMetadataField.Expression can contain any correct SQL expression; TacMetadataObject.Expression can contain any correct "datasource": an SQL expression which can be used in the FROM clause, i.e. object name, subquery (derived table), etc.
      TacSQLBuilder object will replace all mentions of such fields and objects in result SQL with this expression. Programmer can control such expansion using the TacSQLBuilder.ExpandVirtualFields boolean property.
    • The new property TacQueryBuilder.LoadJoinsFromWhereClause: boolean is added. Using this property you can instruct Query Builder to not treat WHERE expressions like "tbl1.FieldName = tbl2.FieldName" as joins. They will be loaded as usual WHERE criteria instead.
    • The new property is made to accept tabs in the columns pane.
      TacQueryBuilder.SelectListOptions.AcceptTabs: boolean; default true;
    • The new properties are added to the TacQueryBase class to set up the Union operator programmatically:
      • UnionOperator: gets/sets the unifying operator ('Union', 'Except', 'Intersect' etc.);
      • UnionAllFlag: gets/sets the 'All' keyword for the operator;
      • UnionOperatorFull: gets/sets the full operator string (e.g. 'Union All').
    • ParenthesizeSingleCriterion property is applied now to join conditions.
  • VCL Edition other fixes and improvements:
    • The new demo is added to demonstrate Virtual Objects And Fields feature.
    • The new demo is added to learn about Drag'n'Drop functionality.
    • Internal parser objects caching is turned off as it's not necessary for modern Delphi versions.
    • AnyDAC 2 metadata provider is made.
  • ActiveX Edition API improvements:
    • New properties are added to support virtual database objects and fields:
      IMetadataField.Expression and IMetadataObject.Expression (BSTR).
      IMetadataField.Expression can contain any correct SQL expression; IMetadataObject.Expression can contain any correct "datasource": an SQL expression which can be used in the FROM clause, i.e. object name, subquery (derived table), etc.
      The component will replace all mentions of such fields and objects in result SQL with this expression. Read the IActiveQueryBuilderX.SQLForServer property to get the expanded result SQL text.
    • The new property IActiveQueryBuilderX.LoadJoinsFromWhereClause: VARIANT_BOOL is added.
      Using this property you can instruct Query Builder to not treat WHERE expressions like "tbl1.FieldName = tbl2.FieldName" as joins. They will be loaded as usual WHERE criteria instead.
    • The new property is made to accept tabs in the columns pane.
      IActiveQueryBuilderXControls.SelectListOptions.AcceptTabs: VARIANT_BOOL (default true)
    • The new property IActiveQueryBuilderX.MetadataXmlFile is added to be able to define it without JavaScript coding.
    • ParenthesizeSingleCriterion property is applied now to join conditions.
  • ActiveX Edition other fixes and improvements:
    • Signed .Net interop assemblies are added to the installation package.
    • Assertion failed when syntax provider is changed. Fixed now.
    • DAX error is fixed one more time.
» All Active Query Builder news

News

Testimonial

With users expecting better and better interfaces to deal with complex data retrieval, Active Query Builder has allowed me to provide a highly professional, robust environment to both novice users and skilled query writers.

Thanks to all the team involved. Please keep up the good work.
CodeGear - Where Developers Matter

Screenshots

Multiple joins

Automatic Joins Creation
Active Query Builder automatically determines relationships between tables and creates appropriate joins for them.

Join Types

Different Join Types
Active Query Builder allows to define different join types and various server-specific query options visually.

Criteria pane

Grouping, Sorting and Criteria
Active Query Builder allows to define grouping, sorting, and constructing criteria in a simple and direct way.

Unions and Sub-queries

Unions and Sub-Queries
Unions, sub queries and derived tables can be accessed and built visually in Active Query Builder as easy as the main query.


More Screenshots