TABLES
The column types should be as small as possible and as large as necessary. This makes your table efficient with many thousands of rows.
The Tempo has to be an integer number otherwise the figures would be sorted alphabetically (90 is greater then 100). I removed the text "/" in one row and applied column type "Small Integer".
I turned all remaining text columns into VARCHAR_IGNORECASE so they compare case-insensitively. If you have a reason why you want "A" treated differently from "a", this can be fixed so the form would work anyway. It was just easier for me to do it this way.
I reduced Key and Postion to max.3 characters.
I added a filter table with one row and various text and integer columns.
QUERIES
I added a query which explicitly selects the filter row where ID=0, so you may add more rows with filter criteria and this one is still identifyable.
I added a parameter query which selects all columns from the Materials table. When you open this query you will be prompted for various parameters.
FORM
The form has the filter table query as a main form and the parameter query as subform. The parameters are substituted by the corresponding columns of the parent form. I defined a default sort order (Key, ascending) to the subform. This order is applied every time when you load the form. It can be overriden for the current session.
You enter criteria into the green boxes, click [OK] and the grid shows the resulting rows. Missing criteria are ignored. The cancel button resets the criteria form to its previous state.
Further reference:
[Example #1] Filter/Search with Forms (leveraging SubForms)