BDE Missing ) error message on SQL statement

I have an application that builds SQL commands to read a
Paradox table.  I have built the following 'WHERE' portion
of a 'SELECT' statement.

                'WHERE
                    field_a LIKE "m%"  OR
                    field_b >= 2000000 AND
                    field_a = "yes"    OR
                    field_a LIKE "d%" '

        From my knowledge of operator precedence and expression
        evaluation rules, I am assuming the above will be evaluated
        as:

        line 1:         'WHERE  (field_a LIKE "m%")
        line 2:                         OR
        line 3:                 (field_b >= 2000000 AND field_a = "yes")
        line 4:                                       OR
        line 5:                                 (field_a LIKE "d%")'

        To ensure this, I reconstructed my program logic and inserted
        the parenthesis exactly as noted.

        However, whenever I execute this query, I get the following
        error message:

                Missing ). Field: field_a. Table: nameoftable.
                Image:2.

        If I replace field_a in the 'AND' expression on line 3 with
        any other field

                i.e. (field_b >= 2000000 AND field_anything = "somevalue")

        everything works just fine.

              This causes me to think that my problem must be due to the
        manner in which I am using field_a in three separate
        comparisons.  However, I can't figure out what I am doing wrong.

        I would appreciate any assistance anyone might offer.

        Thanks,

       {*word*106} Keaton