It's still not clear to me what you are really after... But the SQL code below should be a direct answer to your example question.
Code:
SELECT ProductID, ProductName, ProductCost FROM tblProduct WHERE ProductName = "P1";
Here is a query that will grab all the records and sort them
Code:
SELECT ProductID, ProductName, ProductCost FROM tblProduct ORDER BY ProductName ASC;
To sort in reverse order use DESC instead of ASC. In fact the ASC is optional, sorting is assumed to be ascending by default.
But I assume you are using a form, in that case it's better to leave the sorting to the form by using the Order By property of the form.
If you are trying to open a form to a specific record you would use DoCmd.OpenForm
Code:
DoCmd.OpenForm "FORM_NAME_HERE", , , "SEARCH_CRITERIA_HERE"
Making assumptions from the code you've posted above that would look maybe something like this
Code:
DoCmd.OpenForm "FORM_NAME_HERE", , , "ProductName = '" & Me.cmbobox & "'"
Finally, if it is that you are trying to reference a combobox on a form from a query then it might look like this:
Code:
SELECT ProductID, ProductName, ProductCost FROM tblProduct WHERE ProductName = [Forms]![MainForm]![cmbobox];