Suppose you have a database field that returns a date in the Short Date format. Neither a numeric sort nor a string sort would order this column correctly. To sort by date, you need to add an extra column to the grid and set its width to zero. Populate the column with values obtained by converting the date to a number, and sort on that column as demonstrated here (this code assumes the date field is in column 2):
Dim Ro As IntegerDim SortCol As IntegerDim SortDate As Double'add a column to hold the sort keyMSFlexGrid1.Cols = MSFlexGrid1.Cols + 1SortCol = MSFlexGrid1.Cols - 1MSFlexGrid1.ColWidth(SortCol) = 0 'invisible'calculate key values & populate gridFor Ro = 1 To MSFlexGrid1.Rows - 1SortDate = DateValue(MSFlexGrid1.TextMatrix(Ro, 2))MSFlexGrid1.TextMatrix(Ro, SortCol) = SortDateNext Ro'do the sortMSFlexGrid1.Col = SortCol 'set the keyMSFlexGrid1.Sort = flexSortNumericAscending