You would have to build the SQL in a string then update the query definition, so something like
(Air code untested!)
Code:
Sub Test()
Dim strSql As String
Dim qDef As QueryDef
strSql = "SELECT TOP " & Me.YouComboControlName & " PERCENT DonorT.DonorFirstName, DonorT.DonorLastName, Rnd([DonorID]*Now()) AS X "
strSql = strSql & " FROM DonorT "
strSql = strSql & " ORDER BY Rnd([DonorID]*Now()) DESC; "
Set qDef = CurrentDb.QueryDefs("YourQueryName")
qDef.SQL = strSql
qDef.Close
SET qDef = Nothing
DoCmd.OpenQuery "YourQueryName"
End Sub