While preparing a response to your questions, I believe that I figured out the problem and solution as follows:
While in the Expression Builder, attempting to select the field for the criteria, I first drill down in the left panel (Expression Elements) to Forms, Loaded Forms, Test Grade Results (the form I am working on). This then loads the middle (Expression Categories) and right (Expression Values) panels. I'd always clicked on "<Field List>" in the middle panel (Expression Categories) then selected the field I wanted from the resulting list in the right panel. In looking closer at the middle panel, I saw the field (Class) was listed there and so I selected that and amazingly the lookup query then worked.
As I look at it more closely at Expression Builder yesterday and again today, I see that after selecting the form, the 1st option in Expression Categories is "<Form>" and the right panel is then loaded with Event and other (all?) properties, I guess of the overall form.
But in the middle panel (Expression Categories) is listed all the things (labels, controls, subforms, header, detail and footers) on the form, which includes the Class Number!
So it seems that when in the Expression Builder and you've selected a form in the left Expressions Elements panel, the middle Expression Categories panel lists the Form Controls and when you select <Field List> then what appears in the right Expression Values panel are the underlying table fields. I don't recall reading that in any of the 2000+ pages of my 2 reference books. I even looked at them again yesterday and all they cover is expressions in queries that don't involve referring to forms.
What further misled me was that when I incorrectly selected from the field list, the from name was included:
"Forms![Tests and Grades]![Test Parameters]![Class Number]" so it looked like the right thing.
But the really right thing is: "Forms![Tests and Grades]![Class Number] ", the somewhat subtle difference being that the 1st one includes the table name "[Test Parameters]" and thus must be pointing to the underlying table while the correct one points to the control on the form. I guess I don't quite understand that with [Test Parameters].[Class Number] as the control source the query isn't able to see the value in it. What then is the point of the Expression builder showing the field list?
Its annoying that it took me so long to figure this out and that none of the reference and help on Expression Builder seem to talk about how to reference controls on a form. But better late than never.
Let me know if you think this is correct or other thoughts you may have.
I also submitted this reply to the other response I received from June7 - I'd unwittingly submitted the post twice and June7 replied to the other one.
I've yet to resume the copying forms to the blank database and submitting a redacted copy to you for assessment.
Thanks