this may help

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



'Select Distinct Fields From DateTable
'Return DataTable

'Usage:DataSetSelectDistinct("tablename",dtSource,"Columns1,Columns2,.....")
Function DataSetSelectDistinct(ByVal strTableName As String, ByVal
dtSourceTable As DataTable, ByVal strFieldNames As String) As
DataTable
Dim drRow As DataRow
Dim objLastValue As DataRow
Dim dtTable As New DataTable(strTableName)
Dim arrFieldName As Array

Try
If strFieldNames = "" Then Return dtSourceTable

arrFieldName = Split(strFieldNames, ",")
For Each obj As Object In arrFieldName
dtTable.Columns.Add(obj,
dtSourceTable.Columns(obj).DataType)
Next

For Each drRow In dtSourceTable.Select("", strFieldNames)
If objLastValue Is Nothing OrElse Not
DataSetColumnEqual(objLastValue, drRow, arrFieldName) Then
objLastValue = dtTable.NewRow

For Each dr As DataColumn In dtTable.Columns
objLastValue(dr.ColumnName) =
drRow(dr.ColumnName)
Next

dtTable.Rows.Add(New Object() {objLastValue}(0))
End If
Next

Return dtTable
Catch ex As Exception
Throw ex
End Try
End Function
.