ELS-QB ActiveX FAQ
What is the ELS-QB® ActiveX component?
The ELS-QB® ActiveX component is a COM with all the interface and functionality to create queries in manners similar to Microsoft Access and SQL Server. This component may be used by Visual Basic or Visual C++ programmers to enhance their applications with advance query builder interfaces. In most cases, the ELS-QB® ActiveX component is the most sophisticated query builder available as an ActiveX component.
How may the ELS-QB® ActiveX component be used?
The ELS-QB® ActiveX component is an excellent addition to the repertoire of components of a Visual Basic / Visual C++ programmer. It may be integrated with any database application as an advance query builder interface, with which the end-users of the application may generate complex queries using visually intuitive interfaces. An excellent application would be in the special situations when in the custom database application, multiple connections to various database engines are required. The ELS-QB® ActiveX component is equipped with a build-in Connection Manager, with which the end-user may create database connections at run-time.
Does ELS-QB® ActiveX component support file processing?
The ELS-QB® ActiveX component has a build-in file processing support, with which the queries may be stored in special files that are defined by the connection on which the query is defined. Therefore when the end-user of your custom application defines a connection, a corresponding file is created. All queries that are created and saved under this database connection will then be stored in the corresponding file. The location of these files may be controlled via SetStoragePath function, while the actual naming of the files themselves is left to the end-user. Queries may be created, modified, duplicated and removed from a connection container. In general, all file processing is build-in into the ELS-QB® ActiveX component, so that the programmer needs no elaborate coding to add file processing and storage support to her/his custom application.
How effective is the ELS-QB® ActiveX component’s SQL parser?
The SQL parser in the ELS-QB® ActiveX component is extremely advance, in some cases exceeding the Microsoft’s query builders. Any valid SQL statement may be parsed into the Relations and Columns pane format, so that the user may work in the query builder’s visual interface. The join creator of the Relations pane creates optimized joins from the drag-drop and link operations performed by the end-user.
Does the SQL pane of the ELS-QB® ActiveX component support syntax coloring?
The SQL pane of the ELS-QB® ActiveX component is by itself a complete and fully syntax colored editor, with cut, copy, paste, find, replace and other operations. All of these operations are available for external calls, so that the programmers may design their own custom user interface from which these operations are controlled. The editor is as advance as the Microsoft’s Visual C++ editor with extended selection, multiple do/undo and other features.
What database engines are supported by the ELS-QB® ActiveX component?
The Connection Manager and therefore the Data Browser and the query builder panes support any kind of database including Microsoft’s Access and SQL Server, Oracle, IBM’s DB2, Sybase, MySQL, dBASE, as well as other ODBC complaint databases. In general, the database access is via OLE DB providers for these database engines.
The Connection Manager has a build-in connection creation processes with integrated connection dialogs to properly create ADO database access via UDL, dynamic OLE DB, OLE DB provider for ODBC, and others depending on the OLE DB provider components installed on your system. The connection parameters may be stored in a persistent manner in the tree contained in the Connection pane.
The database objects that are displayed in the Data Browser consist of tables, views and stored procedures. In addition, the Data Browser has the Get Details function, with which the end-user may access detailed information about the structure of tables, view or procedures. These objects may be drag-dropped into the Relations pane for further query building.
The function buttons at the bottom of the Columns pane are combo-boxes, which contain most of the SQL common functions that are often needed for the creation of a complex query. These functions are used in combination with ordered user-selected field-rows in the Columns pane. In particular, these functions include the following SQL functions: concatenation of field into strings, masking, aggregate functions (AVG, COUNT, MAX, MIN, SUM, STDEV, VAR), string functions (CHARINDEX, DIFFERENCE, LEFT, LEN, LOWER, LTRIM, PATINDEX, REPLACE, QUOTENAME, REPLICATE, LEFTPAD, RIGHTPAD, REVERSE, RIGHT, RTRIM, SOUNDEX, SPACE, STR, STUFF, SUBSTR, TRIM, UPPER), numeric functions (ABS, CEILING, FLOOR, ROUND, TRUNCATE, SIGN), date part and name functions (YEAR, QUARTER, MONTH, DAYOFYEAR, DAY, WEEK, WEEKDAY, HOUR, MINUTE, SECOND, MILLISECOND), conversion functions, and case functions.
What type of SQL joins are supported by ELS-QB® ActiveX component?
In ELS-QB® ActiveX component the joins may be interpreted as a segment in the FROM-clause of the SQL statement or sometimes in the WHERE-clause. In particular, it supports INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN, as well as the Oracle (+) outer join notation in the WHERE-clause. This pretty much covers all existing database engine implementations.
Yes, the Result tab is in a grid form, and therefore the content of the Result window can be easily exported to Excel, Word or other Office products. This may be performed via the Copy / Paste functions, which are available as external calls to the ELS-QB® ActiveX component. In addition, ELS-QB version 2.1 (and above) has complete APIs to export query result directly to Delimited/Fixed Text, CSV (for Excel), dBASE and XML file formats.
Is there any print support for the ELS-QB® ActiveX component?
Yes there is print support for both the content of the SQL pane and the content of Result window. So that, the end-user may print the query statement, as well as the resulting data, if necessary. There are external call functions to access the ELS-QB® ActiveX component’s print operations.
The sample application demonstrates the use of all the features available to the ELS-QB® ActiveX component. In particular, it is a full-fletched query builder application to be used on it’s own. This application may be used to develop queries for almost any kind of database engine, including Microsoft SQL Server, Oracle and IBM’s DB2. It also, illustrates the use of multiple instances of the QB-objects in an MDI application, with each document being a separate database project.
Yes, the licensed programmer-user may use this sample and customize to her/his needs and requirements. The user may create a new EXE-file and distribute this EXE-file together with all DLLs and components, without any royalty whatsoever, provided that the reference information of the sample application is changed and substantial additions are made to the original sample application. The only condition for distribution is that Epsilon-Logic Systems must not be liable to any defects or error caused as a result of changes or additions to the original shipped source code of the sample application. We must caution however, that the main program must be in EXE-file format, and that no internal features of the ELS-QB® ActiveX component must be exposed to the end-user.
Can one wrap the ELS-QB® ActiveX component into a COM and distribute?
In addition to using and customizing the sample application for distribution purposes, the programmer-user may also create a component with exposed interface, using the ELS-QB® ActiveX component, and distribute this component to other programmers. In such case however, we impose the condition that the ELS-QB® ActiveX component in this custom component must not be more than 50% of the whole component’s features and capabilities, and that this resulting product must not compete with ELS-QB® ActiveX component on the market level.