To avoid misunderstanding, I will address your questions from question B to question A
Question B: To let the user can only enter new data:
1st, we need create a form template that is based on a Microsoft Access database.
Add the dataFiled to the form as a Repeating Table, right click on the table, and click Repeating Table Properties, clear the check box in front of "Allow users to insert and delete rows", and click OK.
Question A: To automatically displays the last 10, 20 records:
1st, we need to create a query in Access database with the following SQL sample:
SELECT TOP 10 Table.[ID], Table.[Name]
ORDER BY Table.[ID] DESC;
2nd, add the query as a secondary data connection. Make sure the "Automatically retrieve data when form is opened" check box is selected.
Add this dataField to the form as a Repeating Table.
(Optional) Right click on the Text Boxes in the table, and click Text Box Properties, click Display tab, select the check box in front of Read-only.
There you go.
Read more from the following documentation about how to make your InfoPath forms work well with Access:
Microsoft is conducting an online survey to understand your opinion of the Technet Web site. If you choose to participate, the online survey will be presented to you when you leave the Technet Web site.