从数据库中读取一个列值并随机排序并将排序后的值放入其他列

时间:2014-11-24 13:58:03

标签: vbscript

我需要从Access数据库中读取一个完整的列值,并需要按随机顺序/降序对其进行排序,并将排序的值更新为另一个列,以便将一个名称分配给另一个名称。那只能使用VB脚本。

我只知道如何从Access数据库读取值,我不知道进一步的步骤..

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

一个Recordset排序描述,第二个Recordset排序Asc。然后循环通过第一个RS并使用第一个RS值更新表,其中表值等于第二个RS值。 在此示例中,根据您的数据库更改ColumnName,ColumnName2和TableName。 ColumnName2是输出列,因此它将替换为新值。

Sub AddDescToAsc()

Dim MyDB As DAO.Database, MyRS As DAO.Recordset, MyRS2 As DAO.Recordset

Set MyDB = CurrentDb()
Set MyRS = MyDB.OpenRecordset("SELECT ColumnName FROM TableName ORDER BY ColumnName DESC",     dbOpenForwardOnly)
Set MyRS2 = MyDB.OpenRecordset("SELECT ColumnName FROM TableName ORDER BY ColumnName ASC")
MyRS2.MoveFirst
With MyRS
    Do While Not .EOF
        DoCmd.SetWarnings False
        DoCmd.RunSQL "UPDATE TableName SET ColumnName2 = '" & .Fields("ColumnName") & "' WHERE     ColumnName = '" & MyRS2(0) & "'"
        DoCmd.SetWarnings True
        MyRS2.MoveNext
        .MoveNext
    Loop
End With

MyRS.Close
MyRS2.Close

End Sub