Visual Basic Code of the Week (COTW)
Issue #41
Online Version at (paid subscribers only)
All content and source code is Copyright (c) 1998 by C&D Programming Corp. No part of this issue can be reprinted or distributed in any manner without express written permission of C&D Programming Corp.

Notes about this ezine

If you are not a paid subscriber, you must have signed up for our free trial at Our ezine is not an unsolicited message (in other words a spam email).

If you do not wish to continue to receive this ezine, please email us at

We apologize...

We apologize for the lateness of this issue. It was supposed to be delivered on Saturday, but we had a few technical difficulties with our emailing service. Now, onto to this weeks' issue!

Special Offer

For a limited time we are offering a lifetime subscription to Code of the Week for only $59.95.

As a bonus for the first 25 people ordering our lifetime subscription, you will receive a free Visual Basic 5.0 add-in called PowerFindPro. It provides superior search capabilities across your entire project and integrates seamlessly into the Visual Basic environment. It allows you to enter search terms and view a listing of all matches that it found and allow you to jump to the source code. You can even export the matches for analysis by other applications or code reviews. If you are familiar with the grep utility in Unix or older versions of C you can think of this product as Grep for Visual Basic. If you place your order now you can get this valuable software FREE!

So hurry and place your order now!

A lifetime subscription provides you with weekly source code for as long as Microsoft is still supporting any version of Visual Basic (which should be quite a while) or its derivative. If you are interested, jump to and place your order now.

Requirements for this Issue

The source code in this issue is designed for Visual Basic 5.0 and above. It is geared towards the intermediate to advanced programmer. It also requires you have a version of Apex Software True DBGrid Pro (The code was written specifically for version 5, but any OCX version should work). Many of our subscribers have let us know that you use this great control in many of your applications.

If you have any questions about this issue, please email us at

In this Issue

This issue introduces a class module to allow your end-users to easily sort a single column when using the True DBGrid product as your data grid. You only need three lines of source code to implement this feature. In the future we will probably add other useful grid features to this class.

Declarations for cTDBGridUtils

Public Grid As TrueDBGrid50.TDBGrid
Public DataControl As VB.Data

Public Sub SortColumn(ByVal lColIndex As Long)

Declaration Descriptions


The SortColumn method will only work correctly if you specify the RecordSource property of the Data control as a SELECT statement. Some examples of valid SELECT statements are:

SELECT * FROM [Employee] ORDER BY [Name]
SELECT LineNum, Quanity, Description, Amount FROM Invoice

If you normally just use a table name or a query you will need to change your RecordSource to be a SELECT statement as shown above. The SortColumn method has some simple checking to look for the SELECT keyword and abort if it is not found.

Sample Usage

This example shows how to use the cTDBGridUtils class. It assumes you have a form with a Data control called datData and a TDBGrid control called grdData.

    Dim moGridUtils As New cTDBGridUtils

    Private Sub Form_Load()
         ' Set up the moGridUtils class
         Set moGridUtils.DataControl = datData
         Set moGridUtils.Grid = grdData
    End Sub

    Private Sub grdData_HeadClick(ByVal ColIndex As Integer)
        ' Perform the sort in the HeadClick event.  You can also put this
        ' code behind a Sort button if you want.
        moGridUtils.SortColumn ColIndex
    End Sub

Source Code

To see the source code for this issue you must be a subscriber to Code of the Week. If you are a subscriber the source code is available at the following address:

This document is available on the web

Paid subscribers can view this issue in HTML format. There is no additional source or information in the HTML formatted document. It just looks a little better since we have included some HTML formatting. Just point your browser to link at the top of this document.


That concludes this issue of COTW. We hope you find the source code useful in your development.

The below describes the ways you can supply us some feedback about COTW. We would like to see our members help mold COTW into the best Visual Basic source code resource available. But to do that we need your feedback about what you like and what you do not like about COTW.


If you are interested in advertising in COTW please email us at Our rates are VERY reasonable, actually they are almost FREE. We reach over three thousand Visual Basic developers each week.

How to tell us what you think

If you have any suggestions for topics you would like to see covered or questions about this issue, please email them to or use online feedback form at

If you have any source code you would like to submit for possible inclusion in COTW, please fill out our online submission form at

Contact Information

C&D Programming Corp.
PO Box 20128
Floral Park, NY 11002-0128
Phone or Fax: (212) 504-7945

Subscription Update

Thank you for trying Code of the Week for Visual Basic.

Your free trial expires after you receive your fourth issue. If you want to continue to receive Code of the Week you can get 52 issues of COTW for only $19.95. This is a full year of Visual Basic source code and information to help with all your development. So don't wait, subscribe now! The quickest way to subscribe is to jump to our online order form at