If you do decide to use the junction tables, I'd also look at the form deisign on how you want to populate the junction table. This can be simply done but if you've never designed one, it can be a bit tricky. I personally use 3 listbox where a user can select the first listbox (farmID), then the 3rd listbox (ContactID), and click a buttom to move both highlighted values to the middle listbox (ie. junction table.)
You'll have decide though if (for example) if you need many contacts associated to different farms and some farms having multiple contacts.
If so, I'd go the route of using the junction table. If not (and a definiate not), I'd then store the ContactID or FarmID in the appropriate table (A junction table serves no purpose if only 1 contact per farm or vice-versa is going to be entered. It only complicates query/form design.)