![]() |
|
Published 1998-06-01 Printer-friendly version
You have worked hard on completing the project. You have meticulously debugged it, polished the interface, and made sure it was working like a clock. The day arrives and you take it to your client and begin training. About forty-five minutes into training, someone (obviously an unintelligent, computer-phobic neophyte) asks a question such as: "But what if I want to look at all the records between the 1st and the 15th of the month delivered by Joe's Trucking that weighed between 40,000 and 55,000 lbs. in which we did not get the special price break?" After stilling your nerves and not succumbing to stress (which incidentally in this case is defined as "the point at which you do not strangle the life out of some jerk who desperately deserves it") you realize that you have a problem. You have delivered a perfectly working system that really does not give the end-user the flexibility they think they might need. Do you go back to the office, quote a ton of hours for all the coding required to accomplish this, negotiate with your client (again) or just eat crow and walk away? Well, if you are smart, neither. Just pick up a copy of BoxSoft's Super QBE (SQBE), drop it onto your browses and reports, charge your client for the few hours' work and you have your masterpiece software, complete with all the query flexibility your client could want.
If you slow down enough to read the opening screen of the installation, it politely informs you that this version is designed to run only with C4's ABC (OOPed) template set. The version for CW2003 compatibility is 2.5. After choosing the directory where Clarion4 resides, it installs itself and closes down, leaving the contents page of the help file. To finish the installation you have to change your redirection file and install the templates into Clarion's registry. The help file details all of this under the Installation section. Having the option to let the installation modify the redirection file for you would be a nice touch.
To fully utilize this template there are a few key elements that must first be understood. A query is an ad hoc (or on-the-fly) filter that is applied against a Clarion View structure. (Please read the Clarion docs on Views and PROP:Filter if you would like more details.)
One requirement for using SQBE is that your database must be normalized. That means that you must have a single (non-concatenated) key that is marked as primary. (As a side note, this field must not be changeable by the user either.) This primary field value is what SQBE uses to store records that have passed all the criteria.
Incidentally, this is a change from the older versions of Super QBE, which do not require this. The decision was made mainly due to Clarion's dependence upon the View (further details are inside the documentation for the template.) I believe the decision was accurately made. In further support, I have never seen another tagging/query tool that did not require this, as well.
The created View will have only the records that pass your filter criteria. This gives your end-users the ability to look/print "all the records between the 1st and the 15th of the month delivered by Joe's Trucking that weighed between 40,000 and 55,000 lbs. in which we did not get the special price break". Now, to accomplish this you need an interface that will allow the users to choose the appropriate fields and apply the proper filter to each field. Super QBE offers you a choice.
Earlier versions of SQBE offered only the Form ideology. This brought up the familiar insert/update Form. The user could then place the criteria in each field and state the comparison operator. You can use a variety of comparison operators on each field, including "exact match", "doesn't equal this", "contains this", "doesn't contain this", "begins with this", "ends with this", etc.
You can also specify multiple values for a single field, and and you can search for data in related files. Making your Form perform both regular updates and QBE requires that you tweak it to allow for the added space between prompts and fields (not a fun task especially if your Form is large and intricate). If your Form is too complex, though, you can always create a simpler one just for your query. The required code is built into the template - simply tell it the name of the new procedure.
If you do not want to use the Form approach than you can use the Wizard approach. This one will be familiar with anyone who has used ToolCraft's Query Wizard. This approach gives your users a list of the fields (either the actual field name or the description - your option). The screen shot below illustrates this.

The above query was added to an application without first cleaning up the dictionary. I chose to use the field descriptions instead of the field name. The left box displays my fields (I obviously need to make sure that the end user doesn't see "Unique Internal Number" as a choice). The column to the left of the field descriptions indicates the number of criteria I have placed for this particular field. The right box displays each criterion I have specified, along with the comparison operator (in the cases above it is "Contains"). When the user is finished he can click Finish and look at the resulting set.
A very nice touch is the choice to use both methods. The user can begin his query with the wizard, and when he is finished, the insert/update Form will appear allowing him to tweak it further.
The only major thing I can find lacking is the ability to place an "OR" between criteria on different fields. For example, I cannot say, "I want all the Priest Spells 'OR' any spell that is reversible."
If you do not need much customizing then you will find SQBE quite easy to add to any existing application. The defaults are wisely chosen and will cover most users needs. You must first populate a global template extension. The options on this global extension are easy to figure out - you don't have any! Once that is done, you can choose to add the querying capability to an existing browse by dropping the QBEBrowse Control template onto your browse window. The only prompts to fill in here are the browse's update Form and the choice of whether or not to show the user only the selected criteria after the form is called.
Adding the query to your form can be as simple or robust as you choose. The thing to remember here is that complexity always follows on the heels of flexibility. To keep it simple, you can add the QBEForm Control template and drop the two buttons on the form. The only choices you must make are to identify the file that the query is to be performed on in the file schematic, and the tag set. (According to the help file a tag set is "a collection of tags associated with a particular file and used for a certain purpose. You should use a different Tag Set number for each data file; otherwise, there is a very good chance that your tag sets will corrupt each other. If you need two different types of tags associated with the same file, just use two different tag set numbers.") It is that simple to add the default querying capability to your application.
If you like to get really down and dirty you can change almost anything. The shot below illustrates what some of the choices are:

A few other options include:
In addition, SQBE comes with a few other templates.
The documentation comes in two flavors, the trusty help file for quick on-line viewing and in Acrobat PDF format for viewing or printing out a hard copy. If you are new to queries, than I would strongly suggest that you print it out and read all of it.
Overall, the documentation is pretty straightforward and complete, but one thing I would like to see is a tutorial that would take a new user step by step through the process versus just throwing out some examples and hoping the user can make sense of them.
Since the template is distributed by Mitten Software, you can get support through them or directly through BoxSoft. You can phone or e-mail Mitten Software for support or you can e-mail BoxSoft. Whichever route you choose, your support will be good. I e-mailed BoxSoft on a couple of issues (incidentally, they were my fault) and the response time was good. I have watched BoxSoft's technical support for years and have always found it excellent.
I am quite pleased with the solidity of the product and the ease of implementation. BoxSoft has done a fine job of giving us an easy to implement and easy to use tool. As with all BoxSoft products, the template is done completely with source code, allowing you to change or modify whatever you wish.
| Category |
Product Score |
| Ability to do the task |
Very Good |
| Ease of use |
Very Good |
| Ease of Installation |
Good |
| Documentation |
Good |
| Technical Support |
Very Good |
| Modifies Shipping Templates |
No |
| Black-Box DLLs/LIBs |
No |
BoxSoft Development's Super QBE retails for $179 US and is available from Mitten Software. For sales information, see http://www.mittensoftware.com or call their sales department at 800-825-5461. Mitten also provides a 90-day, money back guarantee.The latest information on product updates and a downloadable demo are also available at the BoxSoft Development web site: http://www.BoxSoftdevelopment.com. Please note that a single program is used to demonstrate all BoxSoft products.
| Vendor comments from Mike Hanson of BoxSoft Development |
| The reviewer has done a great job of illuminating the ease and power of the SuperQBE templates. BoxSoft has provided QBE facilities to the Clarion community for years longer than any other 3rd-party developer, which makes our product very mature and robust. The one point that we would like to add is that our approach of remembering selected records as tags gives our product unique abilities. For example, the user can perform a multi-pass query and add the result sets together, enabling them to perform many difficult queries in a simpler step-by step manner. Using Shawn's example, the first query can find Priest spells, while the second can find reversible spells. Once you have a result set of tagged records, you can even perform a queryto subtract from those results. (The next major version of QBE can restrict its search range to the current results only, making subsequent searches very fast.) These types of operations cannot be accommodated with the basic Filter on a VIEW used by Clarion Enterprise Edition and our competitors. The important thing to recognize is that our QBE contains numerous features and options, which make it flexible enough to handle everyone's needs. At the same time we have endeavored to keep it as simple as possible to implement in your applications. Our next version (planned for release this fall) extends our paradigm even further, with a second wizard interface, faster browses, PROP:SQL support, and many other features. |
Copyright © 1999-2009 by CoveComm Inc. All Rights Reserved. Reproduction in any form without the express written consent of CoveComm Inc., except as described in the subscription agreement, is prohibited.
Clarion Magazine ISSN 1718-9942
One year: $169
(includes all back issues since '99)
Renewals from $119
Two years: $269
Renewals from $219