I'm not sure I understand your question. Can you give an example?
You can filter a report on opening using a filter or where condition.
Do you want to link to a stored pdf of the invoice or just recreate the report on screen ?
If it's the latter, the you could easily add a open report preview on the double click event of the record ID or similar. However be warned that Split forms behave rather oddly, so you may need to recreate the look of a split form with a sub form as a datasheet rather than the split form.
In the form create a command button that opens the report filtered to the current record - something like;
Code:DoCmd.OpenReport "YourReportName" , acViewPreview , , "YourUniqueID = " & Me.YourUniqueIDControlName
MyLink: "\\Server\YourStoragepath\" & [UniqueID] & ".pdf"
Yes - so back to my first question - are these stored copies of the reports, pdf's stored on your network?
If they are and the reports are stored in the format YourUniqueID.pdf then it's simple to create a clickable link to the location in the query;
If you set the type to hyperlink I believe it will open the file.Code:MyLink: "\\Server\YourStoragepath\" & [UniqueID] & ".pdf"
You say you want to open the invoice from the "query" but that is NOT possible. Queries do not offer events so there is no place where you can insert your code. Not to mention - users should NEVER, EVER, under ANY CONDITION be able to open a raw query. Users should always interact with the data via forms and reports where you have events that can be used to control what he does and perform validation.I have already a button on every form to show the report. I would like to access to if from the query.