我需要从Access数据库中读取一个完整的列值,并需要按随机顺序/降序对其进行排序,并将排序的值更新为另一个列,以便将一个名称分配给另一个名称。那只能使用VB脚本。
我只知道如何从Access数据库读取值,我不知道进一步的步骤..
有人可以帮助我吗?
答案 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