If I'm reading your post correctly, the simpliest way to do this would be to use a combobox.
First you must have your form set up to display the record you want to retrieve, i.e. you must have fields set up with the appropriate Control Sources. Then simply:
Add a combo box to your form. The Combobox Wizard will pop up
Select "Find a record based on the value I selected in my combobox." Hit Next.
Click on the field you're searching by (ProgramID) to move it to the right side. Hit Next.
Size the column appropriately. Hit Next.
Name the combobox. Hit Finish.
Now you can drop the combobox down and scroll down to the number to search by, or you can start to enter the ProgramID, and the combobox will "autofill" as you type. Hit <Enter> and the record will be retrieved and the full name, and any other info associated, will be filled in.
Hope this helps!
The problem with making anything foolproof...is that fools are so darn ingenious!
All posts/responses based on Access 2003/2007