The MSFlexGrid tries to automatically determine how to justify text. If the first character is numeric, then that cell will be right-justified. If it is an alphanumeric character, then that cell will be left-justified. The problem arises when you try to display a freeform note in one of the cells. If the note starts with a number, such as “30 days until renewal,” MSFlexGrid right-justifies that cell. The solution is to prefix all cells with a space:
Sub FillGrid(rs As RecordSet) Dim sItem As String Dim i as Long '//Loop through the recordset rs.MoveFirst Do Until rs.EOF '//Loop through the fields sItem$="" For i = 0 To rs.Fields.Count -1 'Build the row to be inserted, vbTab 'first so that we skip the fixedcol and 'space so that everything is left justified sItem = sItem & vbTab & " " & rs.Fields(i) Next I '//Add The row to the grid grd.AddItem sItem '//Move to the next record rs.MoveNext LoopEnd Sub