As others have already said and shown, a multi-column form has to have labels above the fields. The empirical reason for that is our eye movement: once we discern it's a column layout we move our eyes vertically and labels above form fields allow us to read faster without moving our eyes to the sides.
However, label positioning isn't the problem with your form. Now, that you've posted the wireframe it's clear that the form is poorly organized.
First off, the right-most column contains unnecessary elements. A basic search form is usually one field that accepts freeform text including special and Boolean operators for complex queries. Advanced search forms help with composing complex search queries when people don't know the operators by heart and to impose constraints on the search (i.e. filters). The fields Vice President
, Project Type
, and Apps Program
are such filters and belong to the Advanced Search link. If someone needs access to all projects by a particular VP or project type or Apps program, you can create links at appropriate locations that show such results.
Second, the fields A&SI Id
/PMATT Id
and A&SI Project Name
/PMATT Project Name
can be consolidated into at most 2 fields (Project Id
and Project Name
). Ideally, it should be just one field Your search query
with RegEx filtering in the back-end to direct the search to the respective table records, e.g. filter for ID mask. If you go this way, you may want to include documentation on search queries wrapping it in a hidden div with a JS-based visibility toggle link.
Third, it's not clear right away how the form should be read or filled. It took me a few moments to read the field labels to understand that the direction was top-to-bottom and left-to-right. You should add some clear indicators where A&SI columns are and where PMATT columns are. It's also unknown in which direction tab order is set: columns or rows. It should follow the reading order (columns).
Fourth, the complete eye movement in the form is top-to-bottom then left-to-right-back-to-left. The submit button should follow the last search parameter entered. In your case, it should be located in the bottom right corner (see the image below for eye movement visualization).
