In addition, your code is assuming (if one exists) that only ONE record will be returned. Instead of "if rst.EOF Then.../ Else/End",
do this:
(This will show you if more than one entry matches your query---you could also put that info into a listbox (additem) vice a msgbox as your progress in your code).

Do while NOT RS.EOF
msgbox cStr(rs!QuantityOrdered)
rs.MoveNext
Loop