InputForm2 uses method # 1 below. It took we about 60 seconds to add it.
I would use a combobox or listbox that lists all the possible choices in the table. Easier for the user as he only needs to type a portion of the name to select a name and there is less risk for having to deal with misspellings. You can use a textbox - just use the textbox name instead of the List/ComboBoxName. You can use a textbox and a command button - just put the code of in the command button click event. If you want to jump to a record or filter the form when you open the form, just put the code in the form load event (also see:
www.thenelson.name/#ReportFormTricks, "Open Last Record"). If you are using a combobox or listbox, method #1 is the easiest.
Four easy ways to jump to a record in a combobox or listbox but still be able to scroll through all the other records:
1) The combo box and list box wizard will do this for you automatically. In the first or second step (depending on you version of Access), choose the third option: "Find a record on my form based on the value selected in my combo box" This must be done on a BOUND form.
2) Have the record ID number as one of the fields in the list/combo box and in the form (they can both be hidden). The bound column of the list/combo box is the record ID field. Then the On After Update Event of the list/combo box would look like:
Private Sub List/ComboBoxName_AfterUpd
ate() 'Use the name of your list/combo box
txtRecordID.SetFocus 'Use the name of your text box
DoCmd.FindRecord List/ComboBoxName 'Use the name of your list/combo box
End Sub
3) Again, the bound column of the list/combo box is the record ID field.
Private Sub List/ComboBoxName_AfterUpd
ate() 'Use the name of your list/combo box
Me.RecordSet.FindFirst "txtRecordID = " & List/ComboBoxName 'Use the name of your list/combo box and text box
End Sub
4) Again, the bound column of the list/combo box is the record ID field.
Private Sub List/ComboBoxName_AfterUpd
ate() 'Use the name of your list/combo box
DoCmd.GoToRecord acDataForm, Me.Name, acGoTo, List/ComboBoxName 'Use the name of your list/combo box and text box
End Sub
Two easy ways to filter the records to show only the record selected:
5) With the bound column of the list/combo box is the record ID field.
Private Sub List/ComboBoxName_AfterUpd
ate() 'Use the name of your list/combo box
Me.Filter = "txtRecordID = " & List/ComboBoxName 'Use the name of your list/combo box and text box
Me.FilterOn = True
End Sub
6) Again, the bound column of the list/combo box is the record ID field.
In the query that is the record source for the form, create a criteria like this:
[Forms].[YourFormName].[Co
mboBoxName
] 'Use the name of your list/combo box and form name
Additional information:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q209537http://allenbrowne.com/ser-03.htmlhttp://www.rogersaccesslibrary.com/download3.asp?SampleName=ComboChoosesRecord.mdb