Een formulier (en dat geldt voor elk formulier) kun je baseren op niks (niet-afhankelijk dus), een tabel, een opgeslagen query of een SELECT statement. Dat laatste is eigenlijk ook een query, maar dan niet opgeslagen. Baseer je een formulier op één tabel dan kun je sowieso altijd invoeren/muteren op dat formulier. Anders wordt het bij een query, want dan ben je afhankelijk van hoe de query is gemaakt. Een query kun je namelijk zo maken dat je er géén records mee kunt muteren. En als dat in de query niet kan, dan is dat in het formulier ook niet mogelijk. Alles hangt dus af van de onderliggende Recordbron. En zonder dat we die kunnen zien, kan ik dus ook niet bepalen of jouw formulier geschikt is voor datamutaties of niet. Maar je kunt het simpel testen: als je in de onderliggende query een record kan toevoegen, dan kan het op het formulier ook.
Nogmaals: een tabbesturingselement is op zichzelf helemaal niks, en kan niks. Je zet er objecten op, en dat is het. Dat object kan een tekstvak of keuzelijst zijn, of een subformulier, maakt allemaal niets uit. Als je in code naar een tekstvak verwijst (Me.DatumInvoer.Value = Date bijvoorbeeld) zie je ook niet dat zo'n tekstvak op een tabblad staat of niet, want dat wordt niet aangesproken. Het is dus alleen een element waarmee je objecten ordent en groepeert. De eigenschappen van een tabbesturingselement hebben ook helemaal niets te maken met hoe het formulier verder functioneert.