Opening the new form and passing the ProductID is pretty easy, like this :
In my example im using an ObjectID in stead of ProductID. This is because im dealing with realty rather then products. But just adjust the code to your situation.
Code:
If Me.fldObjectID <> "" Then
Dim sWhere As String
sWhere = "[ObjectID] = " & Me.fldObjectID
DoCmd.OpenForm "YourFormToOpen", acNormal, , sWhere
Else
MsgBox "Select an object"
End If
Now edit your new form that holds the product information. Right click the top left corner of the form and select properties. And then the "Form open" event. select event procedure to input the code below :
Code:
Me.LocationName = DLookup("NameOfObject", "tblObjects", "[ObjectID] = " & Forms![YourFormToOpen]![fldObjectID].Value & "")
Edit to your situation, So LocationName is ProductName, tblObjects would be the name of your table. I think you get it. If not, let me know.