We calculate the probability, not the odds.
There are $binom{27}{3}$ equally likely ways to choose $3$ cards from $27$. Now we count the number of favourables, the number of hands that have at least $1$ heart and at least one spade.
There are two ways to do this. We can use cases: (i) $1$ heart, $1$ spade, $1$ other. (ii) $2$ hearts, $1$ spade; (iii) $1$ spade, $2$ hearts.
(i) The spade can be chosen in $\binom{6}{1}$ ways. For each way, the heart can be chosen in $\binom{4}{1}$ ways, and then the "other" in $\binom{17}{1}$ ways, for a total of $\binom{6}{1}\binom{4}{1}\binom{17}{1}$.
(ii) The hearts can be chosen in $\binom{6}{2}$ ways, and then the spade in $\binom{4}{1}$ ways, for a total of $\binom{6}{2}\binom{4}{1}$.
(iii) The same analysis gives $\binom{6}{1}\binom{4}{2}$.
For the probability, add up and divide by $\binom{27}{3}$.
Sometimes, it is easier to count the bad hands, the ones that are missing a heart, or a spade, or both.
There are $\binom{21}{3}$ no heart hands and $\binom{23}{3}$ no spade hands. There are $\binom{17}{3}$ hands with both missing, so the number of bad hands is $\binom{21}{3}+\binom{23}{3}-\binom{17}{3}$. The number of favourables is $\binom{27}{3}$ minus the previous sum.
In this case, the counting bads approach is more work. But often it is quite useful.