Hi Jo,
This is difficult to do without writing code because of the limits of the data connection wizard. The Database Adapter that we sell (and provide free for download) is an example of a Web service that supports multiple tables and requires no code in the form.
I think the main benefit of the Web service is the abstraction that it provides. But, hey, if your form is working, why worry!?
For offline, I imagine that you already have it working, but consider caching locally in the main DOM until people are ready to submit.
Good luck!
Patrick Halstead [InfoPath MVP]
InfoPathDev
Patrick Halstead
Project Manager at Qdabra