Dat zijn weer een hoop vragen

.Om met het eerste te beginnen: als je met de query die je nu hebt records kunt toevoegen, dan zit je prima, want dan kan dat ook als je hem als basis voor je formulier gebruikt.
Je ziet dat gauw genoeg als je bijvoorbeeld een veld probeert te wijzigen via de query; lukt dat niet, dan is de query niet geschikt om in te voeren. Ook kun je dat aan de knop zien voor Nieuw record; die is grijs als je geen records kunt toevoegen. Je gebruikt dan geen tabel als Recordbron, maar die query.
Als je op je formulier vervolgens een knop hebt gemaakt om een nieuw record te maken, dan worden de gegevens van je formulier opgeslagen in de velden van de query. Meestal zul je de gegevens voor je query uit meerdere tabellen halen, maar dat maakt voor het formulier niet uit. Als je bijvoorbeeld een klantnummer opslaat in de tabel Facturen, en ook adresgegevens laat zien uit de tabel Klanten, dan wordt het klantnummer opgeslagen in de tabel Facturen, en de klantgegevens in de tabel Klanten. Een wijziging in het adres zal dus in de tabel Klanten worden opgeslagen, en niet in de tabel Facturen, omdat daar geen adresgegevens in worden opgeslagen (althans, in dit voorbeeld).
Om het verhaal misschien nog complexer te maken dan het al is, kun je zelfs de situatie hebben dat je een nieuw record opslaat in de tabel Facturen, omdat je dus op Nieuw record hebt geklikt, maar, omdat je bijvoorbeeld een telefoonnummer hebt veranderd bij het invoeren, tevens de tabel Klanten aan het bijwerken bent! Da's nog eens multitasken
Het voordeel van zo'n oplossing is, dat je dus eigenlijk alleen de voor de factuur noodzakelijke gegevens opslaat in de tabel facturen, maar veel meer gegevens kunt zien en controleren op het formulier. En dat heeft weer als voordeel dat je in de volgende fase gelijk een factuur kunt afdrukken via een rapport, waarbij je de gegevens uit het formulier als bron gebruikt voor dat rapport. Daar moeten dan uiteraard wel de klantgegevens op staan.
Persoonlijk zou ik een startformulier maken met een knop om nieuwe records toe te voegen, waarbij je via de kenop het formulier activeert in Toevoegmodus, en een knop om records te bewerken, waarbij het formulier in Edit modus wordt geopend. Je kunt dan voor elke modus bepaalde elementen dichttikken, zodat je bijvoorbeeld bij het toevoegen geen adresgegevens kunt wijzigen, maar in de bewerkmodus weer wel.
Conclusie: je hoeft de query dus helemaal niet te draaien, want dat gebeurt op het formulier. Je moet de query zien als een tijdelijke tabel, die hetzelfde werkt als een gewone tabel op een formulier. Standaardwaarde leg je ook vast op het formulier, of in de tabel, maar niet in de query. Alles draait in deze om gegevens opslaan, wijzigen en teruglezen, en alles komt dus feitelijk gewoon uit de onderliggende tabellen!
Mocht je nog vragen hebben: you know the way!
Michel