• You could try this:

    SELECT *

    FROM dbo.SomeTable

    WHERE ( @Field1 IS NULL OR Field1 = @Field1 )

    AND ( @Field2 IS NULL OR Field2 = @Field2 )

    AND ( @Field3 IS NULL OR Field3 = @Field3 )

    AND ( @Field4 IS NULL OR Field4 = @Field4 )

    Provided that the search fields are NULL when unused and non-NULL when used.

    CEWII