I think that first we need to talk about what you're doing here! If you've actually got a single Form, based on a Query that draws data from three Tables,then you have nothing to worry about!
You have nothing to worry about because your Form will almost certainly be Read-Only, as Multi-Table Queries are usually are, and you won't be able to enter anything into any of the Controls!!
Is this, in fact, the situation you're describing here? This type of situation is normally addressed using three Forms, one for each Table. The 'basic' information, as you say, would be in the Table behind the Main Form. The Forms used to display/enter data in the income and expenses Tables would be placed on the Main Form as Subforms. Each 'basic' entity would have a unique identifying number which would be Primary Key of that Table, and each of the other two Tables would have a like-named Field, which would be their Foreign Key. When you connect the Subforms to the Main Form (the Subform Wizard does most of the heavy lifting, here) Access will 'link' using these Fields.
Using Validation code, in the Main Form's BeforeUpdate event, you can prevent a New Record from being created until all 'basic' info has been entered. With a little more work, you can prevent data being entered into the income and expenses Subforms until a Record on the Main Form exists.
You can find help here on doing all of this, but you need to get your Main Form/Subforms set up first of all.
If the situation isn't as you've described it in your original post, come back and let us know.
Hope this helps!
The problem with making anything foolproof...is that fools are so darn ingenious!
All posts/responses based on Access 2003/2007