There's two approachs you can take, both require VBA coding.
The most basic way to build a form is to bind it to an existing table or query using the wizard interface. Slightly more complex is to use a query (SQL statement) in the recordsource and change it dynamically based on choices made by the user. This can be done with a table view type of approach.
If, on the other hand, you display each field within a bound textbox instead, which is VicRauch is discussing, you gain a lot more control over the appearance and layout of your form. Each control can be indivdidualy set Visible or Invisible using syntax in the VBA code such as Me.controlname.Visible=True
To clarify Vic's recommendation to use code. I'm about 99% certain the ONLY way to do it is via code.