Shared knowledge leads to accumulated knowledge

Printer Friendly Page


These pages are used to publish the previews on tools written by Sture Andersen.
He started with VdfQuery, but has extended this into a complete toolset, including a complete library of functions that you can use in your own applications.
VDFQuery is the name of a download containing the source code for the following utilities:

  • VDFQuery itself. An ad hoc report writer (VDF 7/8)
  • VDFGraph. A class for drawing on screen (VDF 7/8)
  • DFMatrix. A tool mainly for synchronizing table definition across different sites (VDF 7/8 and DF 3.2)
  • DBQuery. A simple report generator for DataFlex 3.2
  • VDFSort. A view for integrating in applications that will allow the user to re-index tables without calling the DB-Builder.

The main site for downloading your current VDF-Query version is located at DataAccess Worldwide's ftp-site.
You can find it here:

For your convenience however we have supplied you here with a mirror location.
We will try to keep our versions synchronized with the dataaccess ftp-server, but cannot promise anything ;).

VdfQuery 2.1 dated 23-02-2004 ~ 1,24 Mb
VdfQuery 2.1 readme dated 23-02-2004 ~ 13Kb
VdfQuery 2.0 dated 07-10-2002 ~ 1,17 Mb

VDFQuery 2.0 Beta

These are the new things in the download compared to the previous version
(VDFQuery 1.7b):

  • User may specify calculated columns in reports
  • Selection criteria based on an expression
  • The ability to order the output based on any combination of field values (including parent fields)
  • VDFQuery and VDFSort dialogs may now be re-sized the anchoring way
  • Character mode Query removed from the download (sorry)
  • Source code for FastView 2.0 for VDF 8.x added (see FASTVIEW.DOC)

It is of particular interest to me to know if you succeed in compiling
your own DD classes into the FastView program.

Here's a description of the VDFQuery enhancements:


On the tab page called "Fields" there is a button called "Expression".
Clicking this will enable you to insert a calculated column. You must
specify a label, a width and the type of column. If 'Numeric' is selected
you should also specify the number of decimals.

Clicking the 'Edit' button allows you to specify the actual expression. When
doing so two things are important:

1. Make sure that the expression is put inside parenthesis.
2. Take care that the return type of the expression is the same as that
indicated in the combo form of the previous dialog.


On the second tab called "Selection" you may click the "Expression" button
to enter an integer expression that will be evaluated for each records. If
it evaluates to a non zero integer value the record will go in the report.
These things should be noted:

1. The integer expression needs to be inside parenthesis.
2. Take care that the return type is integer
3. The expression will only be evaluated if the other criteria (if any)
includes the record
4. Selections done in the expression dialog will not be used as basis for
report optimization.



set VdfQuery_Expressions_State to DFFALSE

and the 'Expression' buttons will not appear.


VDFQuery allows the user to select any of the pre-defined orderings of the
selected main table. But it also allows you to select "ad-hoc" whereby the
button of the same name is enabled. Clicking this allows you to specify any
sequence of fields (including fields from parent tables) that should define
the ordering of the output. Break levels may be set accordingly.