Creating 2 forms to work together on the same page for the same query
From your question... you are saying you have 3 forms...

The first form (on its own page) leads to the other 2 forms (which are on a different page, but both forms are on that single page)... it's not completely clear what the problem is - only that both forms are supposed to alter a query, but this is not happening?

Perhaps you could place the fields for both forms in a single form and assign different actions to each of the submit buttons... technically there will only be one form, but visually through styling you can make it appear as two separate forms through CSS - for example using tabs where the fields for the first form is on the first tab... and the fields for the second form is on the second tab... the first tab would have a submit button defined like this:

        $form['submit1']=array(
        '#type' =&gt; 'submit',
        '#value' =&gt; t('Submit form 1'),
        '#submit' =&gt; array('::processForm1'),
        );


and on the second tab you can define another submit button:

        $form['submit2']=array(
        '#type' =&gt; 'submit',
        '#value' =&gt; t('Submit form 2'),
        '#submit' =&gt; array('::processForm2'),
        );


Enough to say in the form object, you will need to define both the processForm1 function and the processForm2 function... in order to decipher which button triggered the submit in the formValidation and formSubmit functions you will use a line such as:

      $trigger=$form_state-&gt;getValue('op');


where $trigger will hold the label of the triggering button.

Hope that helps and makes sense.