Here is a snippet to address your problem
flexGrid1.FormatString = "<Product |< Rate |< Qty "
set rs = New ADODB.Recordset
rs.open "select date,invNo,Product,Rate,qty from sale where rs.fields(1)=txtinvno.text",conn
While Not rs.EOF
flexGrid1.AddItem rs.fields(2) & Chr(9) & rs.fields(3) & Chr(9) & rs.fields(4)
rs.movenext
Wend
Let me know if it works.
Few points observed
for i=rs.recordcount()
is not syntactically correct. I am curious to know how it works for you. You can always use debugger and Immediate window to find those functional issues.