>Try > cn.Open() > Dim cmd As New OleDbCommand("SELECT * FROM STOCKS ORDER BY STOCKGROUP,STOCKCODE", cn) > Dim dr As OleDbDataReader = cmd.ExecuteReader() > Dim mStockGroup as string, mStockCode as string, mStockName as string > If dr.HasRows Then > Do While dr.Read > mStockGroup = dr("StockGroup") > Do While dr.Read and dr("StockGroup") = mStockGroup ' I am not sure for this part ! > mStockCode = dr("StockCode") > mStockName = dr("StockName") > messagebox.show(mStockCode & " " & mStockName) > Loop > Loop >End if >dr.Close() >Catch ex As OleDb.OleDbException >MessageBox.show(ex.Message) >Catch ex As Exception >MessageBox.show(ex.Message) >Finally >cn.Close() >End Try >Winan,