Generally, the form knows where to put the data because the Record Source property of the form is set to the table (or query). That's what's called a bound form, and it's the easiest and most common way of getting data to/from tables.
In some circumstances, an unbound form makes sense. If yours is one of those, you would typically have a button that would execute an SQL statement (INSERT INTO...) to add the record (all fields at once). You could also use a recordset instead of SQL.
You can search on unbound forms if you want more info on methods to do it that way. It is significantly more work than using a bound form. I only do it when the circumstances require it.
If the form is bound to a data source (table or query) by its RecordSource property and if the data controls of the form (text boxes, combo boxes, option groups, etc) are bound to the columns (fields) of that data source by their ControlSource property, the added or modified data will be automatically stored in the table(s) of the data source, except if this data source or the form itself is read-only.
If the form is not bound to a datasource, you must provide a mechanism, using VBA, to write the data to the table(s) where you want to store them. There are several methods. You can use a RecordSet and its AddNew and Edit methods, or you can use SQL statements.