我们可以使用以下这两种方法,但建议使用ARCSDE Geodatabase数据类型或者ACCESS GDB来进行相关操作:
一种:
ICursorPtr ipCursor;
IQueryFilterPtr ipQueryFilter(CLSID_QueryFilter);
hr=ipQueryFilter->put_SubFields(_bstr_t("DISTINCT "+strFields)); //strFields的形式是连续字段名用英文逗号隔开。
  hr=ipTable->Search(ipQueryFilter,VARIANT_FALSE,&ipCursor);

二种:
Public Sub ShowUniqueValues(pTable As ITable, sFieldName As String)
  Dim pQueryDef As IQueryDef
  Dim pRow As IRow
  Dim pCursor As ICursor
  Dim pFeatureWorkspace As IFeatureWorkspace
  Dim pDataset As IDataset

  Set pDataset = pTable
  Set pFeatureWorkspace = pDataset.Workspace
  Set pQueryDef = pFeatureWorkspace.CreateQueryDef
  With pQueryDef
    .Tables = pDataset.Name ' Fully qualified table name
    .SubFields = "DISTINCT(" & sFieldName & ")"
    Set pCursor = .Evaluate
  End With

  Set pRow = pCursor.NextRow
  Do Until pRow Is Nothing
    Debug.Print pRow.Value(0) ' Note only one field in the cursor
    Set pRow = pCursor.NextRow
  Loop
End Sub