如果你是用ADO的话,请用下面代码
Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
Adodc1.Recordset.Sort = DataGrid1.Columns(ColIndex).DataField
DataGrid1.Refresh
End Sub
Public Sub sub_HeadSort(ByVal dgDataGrid As DataGrid, ByVal ColIndex As Integer)
Static b_Sort
Dim rs As ADODB.Recordset
Set rs = dgDataGrid.DataSource
rs.Sort = rs.Fields.Item(ColIndex).Name & VBA.IIf(b_Sort, " desc", "")
b_Sort = Not b_Sort
End Sub