It's not a built in function of Access you need to build the form and functionality itself, but is not particularly hard to do.
First you need to create a table to contain the file information. My table simply consists of 3 fields "complaint_ref", "file_ref", and "date" which has a default value of "Date()"
Based on this table use the form wizard to create an "Autoform: Tabular". Save this form. The only field you need on this form is the "file_ref" field. You will also want to create buttons for "attach" and "view". Nothing is done with these yet.
On the form you want to use file attachment handler on create a subform, this is a button on the toolbar, and when the wizard appears select the "use an existing form" option then select the form you used previously.
Once this is done open up the properties list for the subform. You will want to link the "complaint_ref" field as the "Link Child Fields" option and the unique identifier on your master form as the "Link master fields" option.
Now you need some code to go behind the buttons. First save and then open the files I have attached. Goto access and click on the "modules" tab. Then click new and copy and paste the file text into the VB module window that has opened. Then save this with same file name as the text files have, minus the .txt extension i.e. "basShellAPI" and "browse button code".
Now right click the browse button and bring up its properties. Goto the event tab and locate the "on click" line for this. Where it displays "..." click here and select code builder. Paste the following into the codebuilder between the "private sub...." and "end sub" lines.
Dim strfilter As String
Dim strInputFileName As String
strfilter = ahtAddFilterItem(strfilter, "All Files (*.*)", "*.*")
strInputFileName = ahtCommonFileOpenSave( _
Filter:=strfilter, OpenFile:=True, _
DialogTitle:="Please select an input file...", _
Flags:=ahtOFN_HIDEREADONLY)
Me.File_ref = strInputFileName
Now for the view button you need to call the windows api function ShellExecute. Right click on the view button select properties, then event and then the "..." button on the "on click" property. Once again post the following code between the "private sub..." and "end sub lines"
Dim intRetval As Integer
Dim strBuffer As String
intRetval = acbFindExecutable(Me.File_ref, ".", strBuffer)
If intRetval <= acbHinstanceErr Then
MsgBox "Unable to find executable. Error " & intRetval & "."
Else
intRetval = acb_apiShellExecute(Me.hWnd, "open", strBuffer, _
"" & Chr$(34) & Me.File_ref & Chr$(34) & "", "c:\", acbSW_SHOWMAXIMIZE)
If intRetval <= acbHinstanceErr Then
MsgBox "Unable to load application. Error " & intRetval & "."
End If
End If
And that is pretty much it. Any further questions just let me know and I will do what I can to help.