如何对Access DB表进行排序,以便在通过VBA打开时以正确的顺序显示?

时间:2014-05-07 19:36:31

标签: vba ms-access access-vba ms-access-2010

我已经有一个VBA脚本可以编辑它,那个和另一个甚至打开脚本末尾的表。唯一的问题是我希望我正在查看的数据按columnA排序,然后按columnB排序。

如何通过Access 2010中的VBA执行此操作?

1 个答案:

答案 0 :(得分:2)

如果您只是想查看记录集,那么您可以执行以下操作:

Dim qdef As Dao.QueryDef
Set qdef = CurrentDb.CreateQueryDef("MyQuery", "SELECT * " & _
                                               "FROM TableName " & _
                                               "ORDER BY columnA, columnB")
DoCmd.OpenQuery "MyQuery"

然后,一旦你完成了你想做的任何事情,你可以执行以下操作来删除查询:

On Error Resume Next
DoCmd.DeleteObject acQuery, "MyQuery"

或者您可以执行以下操作:

Dim RSData as DAO.Recordset
Set RSData = CurrentDB.OpenRecordSet("SELECT * " & _
                                     "FROM TableName " & _
                                     "ORDER BY columnA, columnB")
If (RSData.RecordCount > 0) Then
  RSData.MoveFirst
  Do While RSData.EOF <> True
    'HERE YOU CAN WORK WITH EACH FIELD OF THE RECORD INDIVIDUALLY USING 
    RSData.Fields("columnA").value

    RSData.MoveNext
  Loop
End If

然后,一旦完成了你想做的任何事情,你就可以执行以下操作:

RSData.Close
Set RSData = Nothing