You have several errors.
1) "FROM" is a reserved word in Access
2) These two lines aren't used (not really an error but.... )
Code:
prod = Me.Controls("item" & i).Value
from = DLookup(prod, "tblTransfers", "NewLocation = '" & Me.txtFrom.Value & "'")
3) In the part that doesn't work, the "i" in this line should be a "j"
Code:
For j = 1 To Me.Controls("quan" & i).Value
4) The biggest problem is that you closed the recordset "RS", destroyed the reference to it, then tried to reference it.
Code:
.
.
.
rs.Close
Set rs = Nothing
'this part does not
For i = 1 To 20
prod = Me.Controls("item" & i).Value
from = DLookup(prod, "tblTransfers", "NewLocation = '" & Me.txtFrom.Value & "'")
If Me.Controls("item" & i) & "" = "" Then
Exit For
Else
With rs
.
.
.
Looking at the code, if the part that doesn't work HAD worked, you would have randomly updated the "Used" field because you did not select a specific record to update.